gitweixin
  • 首页
  • 小程序代码
    • 资讯读书
    • 工具类
    • O2O
    • 地图定位
    • 社交
    • 行业软件
    • 电商类
    • 互联网类
    • 企业类
    • UI控件
  • 大数据开发
    • Hadoop
    • Spark
    • Hbase
    • Elasticsearch
    • Kafka
    • Flink
    • 数据仓库
    • 数据挖掘
    • flume
    • Kafka
    • Hive
    • shardingsphere
    • solr
  • 开发博客
    • Android
    • php
    • python
    • 运维
    • 技术架构
    • 数据库
  • 程序员网赚
  • bug清单
  • 量化投资
  • 在线查询工具
    • 去行号
    • 在线时间戳转换工具
    • 免费图片批量修改尺寸在线工具
    • SVG转JPG在线工具

MLops 是热门的新云计算职业道路

精品微信小程序开发门户,代码全部亲测可用

  • 首页   /  
  • 作者: east
  • ( 页面44 )
人工智能 4月 4,2023

MLops 是热门的新云计算职业道路

开源 MLops 平台 ClearML 发布了新的研究报告:“MLOps in 2023: What Does the Future Hold?”这项研究对美国的 200 名机器学习决策者进行了调查,研究了机器学习和 MLops(机器学习操作)的主要趋势。
ClearML 的研究发现,MLop 现在在企业中得到广泛采用,暂时搁置潜在的供应商自我服务偏见; 85% 的受访者表示,他们在 2022 年有专门的 MLops 预算。14% 的受访者表示,他们没有预算,但预计会在 2023 年制定。因此,企业现在或很快就会采用 MLops。
如果你没有注意到,ops 似乎是云计算工作的新焦点。我们有 cloudops(云运营)、finops(金融运营)、devops(开发和运营)和 secops(安全运营)。你可以看到趋势。
这是有充分理由的。构建和部署云解决方案或将现有解决方案迁移到云是必需的任务。通常,它们是一体的。然后重点转移到运营上,以保持该工作的价值回归业务。正如许多企业在过去几年中发现的那样,仅仅将东西扔给公共云提供商并希望获得最好的回报并不能带来价值。忽视运营——所有运营——会导致巨大的成本超支和极低的投资回报率。
MLops 是机器学习生命周期的重要组成部分,使组织能够在生产中管理和操作机器学习模型。 MLops 流程确保以一致且高效的方式部署、监控和更新模型,使组织能够获得机器学习的全部好处。可以利用 ML 作为创新差异化因素的应用程序可以为业务增加巨大的价值,远远超过对支持 ML 的系统的投资。
由于对驱动智能供应链、检测欺诈并提供营销和销售分析的 AI/ML 增强业务系统的新依赖,MLops 正在成为最近最热门的职业道路。当然,我们只需看看围绕 ChatGPT 的兴奋,就能看到将 AI 武器化以带来更大利润的兴趣和潜力,但这确实已经发展了 20 年。
MLop 涉及的主要任务是什么?如果你转到一份与 MLops 相关的工作,你每天会做什么?
在我职业生涯的某个阶段完成了这些任务中的每一项后,我列出的所有任务都不难理解。通常,MLops 是现有 cloudps 团队的一部分,但它需要接受一般机器学习以及公司特定 ML 系统的特殊培训。然后只需遵循流程和程序即可保持 ML 系统运行和更新。
这现在成为热门求职票的另一个原因是:如果机器学习系统没有得到适当的操作和维护,企业可能会遇到重大问题。其中包括损失数百万美元的误导营销活动,以及因机器学习系统中批准或拒绝家庭贷款的偏见而引起的诉讼。很多事情都可能出错,而且会出错。拥有合适的 MLops 人才将降低风险。
MLops 适合您吗?如果您正在寻找需要一些新的和持续培训的高薪职业,并且您对机器学习技术感兴趣,那么这可能是您现在可以获得的最有趣和最赚钱的工作。

作者 east
人工智能 4月 4,2023

在 Azure 中使用 Hugging Face 机器学习模型

微软最近的 Azure 开源日展示了一个使用云原生工具和服务构建的新参考应用程序,重点是微软自己的开源工具。该应用程序旨在成为一项服务,帮助主人与丢失的宠物团聚。它使用机器学习快速将失踪动物的照片与来自动物收容所、救援和社区站点的图像进行比较。这是一个很好的例子,说明开源工具如何构建复杂的站点和服务,从基础设施即代码工具到应用程序框架以及向代码添加功能的各种工具。
该应用程序的核心是一个开源机器学习模型,它是 Hugging Face 社区开发的数千个模型和数据集库的一部分,并建立在其大量不同工具和服务的基础上。社区的规模是使用 Hugging Face 模型的一个很好的理由,可以导入它们以在您自己的代码中进行推理,在您自己的服务器上运行,或者通过云 API 访问它们。
考虑在 Azure 中使用 Hugging Face 的另一个原因是:它允许您将 AI 应用于许多不同的业务问题。尽管 Microsoft 自己的认知服务 API 涵盖了许多具有定义良好的 API 的常见 AI 场景,但它们只是一家公司对哪些机器学习服务对企业有意义的看法。这确实使它们成为万事通,专为一般目的而不是特定任务而设计。如果您的代码需要支持边缘情况,那么向 API 添加适当的调优可能需要大量工作。
是的,可以选择使用 Azure 的机器学习工作室构建自己的特定模型,使用 PyTorch 和 TensorFlow 等工具从头开始设计和训练模型。但这需要在构建和训练模型方面具有重要的数据科学和机器学习专业知识。 “从头开始”的机器学习方法还有其他问题。 Azure 为机器学习训练提供了越来越多的虚拟机选项,但该过程可能具有很高的计算要求并且运行成本很高,尤其是在构建需要大量数据的大型模型时。我们并不都是开放人工智能,也没有预算来构建用于训练的云托管超级计算机!
Hugging Face 拥有超过 40,000 个基于其 Transformer 模型框架构建的模型,它拥有由社区构建和训练的模型,可用于比 Microsoft 单独使用的场景更多的场景,从而帮助解决定制问题。您也不限于文本; Hugging Face 的 Transformers 经过训练可以使用自然语言、音频和计算机视觉。 Hugging Face 将这些功能描述为“任务”,例如,有超过 2,000 个不同的图像分类模型和近 18,000 个文本分类模型。
Microsoft 最近在 Azure 上推出了对 Hugging Face 模型的支持,提供了一组可在您的代码中使用的端点,以及从 Hugging Face Hub 及其管道 API 导入的模型。模型由 Hugging Face 社区构建和测试,端点方法意味着它们已准备好进行推理。
免费提供模型;您只需支付用于运行推理任务的 Azure 计算资源。这并非微不足道,尤其是当您处理大量数据时,您应该将定价与 Azure 自己的认知服务进行比较。
创建端点非常简单。在 Azure Marketplace 中,选择 Hugging Face Azure ML 以将服务添加到你的帐户。将您的终结点添加到资源组,然后选择一个区域并为其命名。您现在可以从 Hugging Face Hub 中选择一个模型并选择模型 ID 和任何关联的任务。接下来,为服务选择 Azure 计算实例和 VNet 以确保服务安全。这足以创建端点,生成使用它所需的 URL 和密钥。
有用的是,该服务支持端点根据每分钟的请求数根据需要自动缩放。默认情况下,您仅限于单个实例,但您可以使用配置屏幕中的滑块来设置最小和最大实例数。扩展是由五分钟内的平均请求数驱动的,旨在消除可能导致不必要成本的需求高峰。
目前,关于 Azure 集成的文档很少,但您可以通过查看 Hugging Face 的 AWS 端点文档来了解它。 Endpoint API 基于现有的 Inference API,您可以决定如何构造有效负载。
该服务为您提供了一个方便的 playground URL 来测试您的推理模型。这包括示例 Python 和 JavaScript 代码,以及从命令行使用 curl 的选项。数据以 JSON 格式发送,响应以类似的方式传递。您可以使用标准库来组装和处理 JSON,从而允许您在代码中嵌入对 API 的 REST 调用。如果您使用的是 Python,则可以获取示例代码并将其复制到 Jupyter 笔记本中,您可以在其中与同事共享测试,共同构建更完整的应用程序。
现在,你可以在 Azure 机器学习中使用 Hugging Face 的基础模型,并使用你用来构建和训练自己的模型的相同工具。虽然该功能目前处于预览阶段,但它是一种使用模型的有用方式,使用熟悉的工具和技术,使用 Azure 机器学习在您的应用程序中微调和部署 Hugging Face 模型。您可以使用 Azure 机器学习注册表搜索模型,准备好运行。
这是为您的代码添加额外的预训练模型端点的快速方法;您还可以选择根据自己的数据微调模型,将 Azure 存储用于训练和测试数据,并使用 Azure 机器学习的管道来管理流程。将 Hugging Face 模型作为您自己模型的基础很有意义;它们已在一系列可能不太适合您的案例中得到证明。一个接受过识别金属制品缺陷训练的模型具有处理玻璃或塑料所必需的一些特征,因此额外的训练将降低出错的风险。
开源机器学习社区不断壮大,像微软这样的公司接受它很重要。他们可能有经验和技能,但他们没有更广泛社区的规模或专业化。通过与 Hugging Face 等社区合作,开发人员可以获得更多选择。这对每个人来说都是一场胜利。

作者 east
chatgpt 4月 3,2023

开始使用 Azure OpenAI

现代机器学习和 AI 研究已从实验室迅速转移到我们的 IDE,Azure 的认知服务等工具提供了对预训练模型的基于 API 的访问。提供人工智能服务有许多不同的方法,其中一种更有前途的处理语言的方法是一种称为生成预训练或 GPT 的技术,它可以处理大量文本。
OpenAI 研究实验室率先采用了这项技术,并于 2018 年发表了关于该主题的第一篇论文。它使用的模型经过了多次迭代,从无监督 GPT-2 开始,它使用未标记的数据来模仿人类。 GPT-2 建立在 40GB 的公共互联网内容之上,需要大量训练才能提供具有 15 亿个参数的模型。紧随其后的是 GPT-3,这是一个拥有 1750 亿个参数的更大模型。 GPT-3 独家授权给 Microsoft,是 GitHub Copilot 使用的以编程代码为中心的 Codex 和图像生成 DALL-E 等工具的基础。
像 GPT-3 这样的模型需要大量的计算和内存,大约为数千 petaflop/s-days,它是在专用超级计算机硬件上进行基于云的高性能计算的理想候选者。微软在 Azure 上构建了自己的基于 Nvidia 的超级计算服务器,其云实例出现在 TOP500 超级计算列表中。 Azure 的 AI 服务器围绕 Nvidia Ampere A12000 Tensor Core GPU 构建,通过高速 InfiniBand 网络互连。
OpenAI 的生成式 AI 工具已在 Azure 服务器上构建和训练。作为 OpenAI 和微软之间长期交易的一部分,OpenAI 的工具作为 Azure 的一部分提供,具有 Azure 特定的 API 并与 Azure 的计费服务集成。经过一段时间的私人预览后,Azure OpenAI API 套件现已普遍可用,支持 GPT-3 文本生成和 Codex 代码模型。微软表示将在未来的更新中添加 DALL-E 图像生成。
这并不意味着任何人都可以构建使用 GPT-3 的应用程序;微软仍在限制访问,以确保项目符合其道德人工智能使用政策,并严格限定在特定用例范围内。您还需要成为 Microsoft 的直接客户才能访问 Azure OpenAI。 Microsoft 使用类似的过程来访问其受限访问认知服务,其中可能存在冒充或侵犯隐私的情况。
这些政策可能会保持严格,而某些领域(例如医疗服务)可能需要额外保护才能满足监管要求。微软自己在 AI 语言模型方面的经验给它上了一课,它不想重蹈覆辙。作为附加保护,输入和输出上有内容过滤器,并向 Microsoft 和开发人员发出警报。
一旦你的帐户被批准使用 Azure OpenAI,你就可以开始构建使用其 API 端点的代码。可以从门户、Azure CLI 或 Arm 模板创建适当的 Azure 资源。如果您使用的是 Azure 门户,请创建分配给您的帐户的资源以及您打算用于您的应用程序和任何关联的 Azure 服务和基础结构的资源组。接下来,为资源命名并选择定价层。目前,只有一种定价选项,但随着微软推出新的服务等级,这种情况可能会发生变化。
有了资源,你现在可以使用 Azure OpenAI Studio 部署模型。这是您使用 OpenAI 完成大部分工作的地方。目前,您可以在 GPT-3 系列模型的成员之间进行选择,包括基于代码的 Codex。其他模型使用嵌入,为搜索优化的复杂语义信息。
在每个系列中,都有一组不同的模型,其名称同时表明了成本和能力。如果你使用 GPT-3,Ada 是成本最低且能力最差的,而 Davinci 是最高的。每个模型都是前一个模型的超集,因此随着任务变得越来越复杂,您无需更改代码,只需选择不同的模型即可。有趣的是,Microsoft 建议在设计基于 OpenAI 的应用程序时从功能最强大的模型开始,因为这可以让您在投入生产时调整基础模型的价格和性能。
尽管 GPT-3 的文本完成功能已经流行起来,但实际上您的应用程序需要更加关注您的特定用例。您不希望 GPT-3 为定期提供无关建议的支持服务提供支持。您必须使用带有输入和所需输出的训练示例构建自定义模型,Azure OpenAI 将其称为“完成”。拥有大量训练数据很重要,Microsoft 建议使用数百个示例。您可以将所有提示和完成内容包含在一个 JSON 文件中,以简化训练数据的管理。
自定义模型到位后,您可以使用 Azure OpenAI Studio 来测试 GPT-3 如何适用于您的场景。一个基本的 playground 可以让你看到模型如何响应特定的提示,一个基本的控制台应用程序可以让你输入一个提示并返回一个 OpenAI 完成。微软将构建良好的提示描述为“显示,不要告诉”,这表明提示需要尽可能明确以获得最佳输出。 playground 还有助于训练您的模型,因此如果您正在构建分类器,您可以在提供输入和触发以获得响应之前提供文本和预期输出列表。
playground 的一个有用功能是能够尽早设置意图和预期行为,因此如果您使用 OpenAI 为帮助台分类工具提供支持,您可以设置输出礼貌和冷静的期望,确保它获胜’模仿愤怒的用户。相同的工具可用于 Codex 模型,因此您可以看到它如何作为代码完成工具或动态助手工作。
准备好开始编码后,您可以直接或与 OpenAI Python 库一起使用部署的 REST 端点。后者可能是您获得实时代码的最快途径。您需要端点 URL、身份验证密钥和部署名称。一旦你有了这些,为你的代码设置适当的环境变量。与往常一样,在生产中最好不要对密钥进行硬编码,而是使用 Azure Key Vault 等工具来管理它们。
调用端点非常简单:只需使用 openai.Completion.create 方法获取响应,设置包含提示及其响应所需的最大令牌数。 API 返回的响应对象包含您的模型生成的文本,可以将其提取、格式化,然后供您的其余代码使用。基本调用很简单,您的代码还可以使用其他参数来管理响应。这些控制着模型的创造力以及它如何对其结果进行采样。您可以使用这些参数来确保响应直接且准确。
如果您使用其他语言,请使用其 REST 和 JSON 解析工具。您可以在 Azure OpenAI 文档中找到 API 参考,或利用 Azure 的 GitHub 托管的 Swagger 规范来生成 API 调用并处理返回的数据。这种方法适用于 Visual Studio 等 IDE。
OpenAI 模型的一个关键要素是它们基于代币的定价模型。 Azure OpenAI 中的令牌不是我们熟悉的身份验证令牌;它们是字符串的标记化部分,是使用内部统计模型创建的。 Open AI 在其网站上提供了一个工具来显示字符串是如何标记化的,以帮助您了解您的查询是如何计费的。你可以期望一个标记大约是四个字符的文本,尽管它可以更少也可以更多;然而,它最终应该有 75 个单词,需要大约 100 个标记(大约是一段普通文本)。
模型越复杂,代币的价格就越高。基本型号 Ada 每 1,000 个代币的价格约为 0.0004 美元,高端 Davinci 为 0.02 美元。如果您应用自己的调整,则会产生存储成本,如果您使用嵌入,则由于计算需求增加,成本可能会高出一个数量级。微调模型需要支付额外费用,起价为每计算小时 20 美元。 Azure 网站提供样本价格,但实际价格可能会有所不同,具体取决于您的组织与 Microsoft 的帐户关系。
也许 Azure OpenAIclo 最令人惊讶的地方在于它的简单性。当您使用预建模型(可以进行一些微调)时,您需要做的就是应用一些基本的预训练,了解提示如何生成输出,并将工具链接到您的代码,随时生成文本内容或代码这是需要的。

作者 east
人工智能 4月 3,2023

什么是生成式人工智能?人工智能的演变

生成式 AI 是任何一种使用算法来生成、操作或合成数据的自动化过程的总称,通常以图像或人类可读文本的形式出现。之所以称为生成式,是因为 AI 创造了以前不存在的东西。这就是它与判别式 AI 的不同之处,判别式 AI 会区分不同类型的输入。换句话说,有辨别力的人工智能试图回答这样的问题:“这张图片是画兔子还是狮子?”而生成式 AI 会响应诸如“给我画一张狮子和兔子坐在一起的照片”之类的提示。
本文向您介绍生成式 AI 及其在 ChatGPT 和 DALL-E 等流行模型中的用途。我们还将考虑该技术的局限性,包括为什么“太多的手指”已成为人工生成艺术的死胡同。
生成式 AI 已经存在多年,可以说自 1966 年麻省理工学院开发了 ELIZA 以来,ELIZA 是一种模拟与治疗师交谈的聊天机器人。但是随着新的生成式 AI 系统的发布,多年来在 AI 和机器学习方面的工作最近取得了成果.您几乎肯定听说过 ChatGPT,这是一种基于文本的 AI 聊天机器人,可以生成非常像人类的散文。 DALL-E 和 Stable Diffusion 也因其根据文本提示创建生动逼真的图像的能力而备受关注。我们经常将这些系统和其他类似的系统称为模型,因为它们代表了一种尝试,即基于有关现实世界的信息子集(有时是一个非常大的信息子集)来模拟或建模现实世界的某些方面。
这些系统的输出是如此不可思议,以至于许多人都在问关于意识本质的哲学问题——并担心生成人工智能对人类工作的经济影响。但是,尽管所有这些人工智能创造无疑都是大新闻,但可以说,表面之下发生的事情并不像某些人想象的那样。稍后我们将讨论其中一些大问题。首先,让我们看看 ChatGPT 和 DALL-E 等模型的幕后情况。
生成式 AI 使用机器学习来处理大量视觉或文本数据,其中大部分是从互联网上搜集而来的,然后确定哪些事物最有可能出现在其他事物附近。生成式 AI 的大部分编程工作都用于创建算法,这些算法可以区分 AI 的创建者感兴趣的“事物”——ChatGPT 等聊天机器人中的单词和句子,或者 DALL-E 中的视觉元素。但从根本上说,生成式人工智能通过评估其训练所依据的大量数据来创建输出,然后根据该语料库确定的概率范围内的内容来响应提示。
自动完成——当您的手机或 Gmail 提示您输入的单词或句子的剩余部分可能是什么时——是一种低级形式的生成 AI。像 ChatGPT 和 DALL-E 这样的模型只是把这个想法带到了更先进的高度。
开发模型以容纳所有这些数据的过程称为训练。对于不同类型的模型,一些底层技术在这里发挥作用。 ChatGPT 使用所谓的转换器(T 代表什么)。转换器从一长串文本中获取意义,以了解不同的词或语义成分可能如何相互关联,然后确定它们出现在彼此附近的可能性有多大。这些转换器在一个称为预训练(即 Pin ChatGPT)的过程中在大量自然语言文本上无人监督地运行,然后由与模型交互的人类进行微调。
另一种用于训练模型的技术是所谓的生成对抗网络或 GAN。在这种技术中,您有两种相互竞争的算法。一种是根据从大数据集导出的概率生成文本或图像;另一个是有辨别力的人工智能,它经过人类训练,可以评估输出是真实的还是人工智能生成的。生成式 AI 反复尝试“欺骗”判别式 AI,自动适应有利于成功的结果。一旦生成性 AI 持续“赢得”这场比赛,判别性 AI 就会被人类微调,并且这个过程会重新开始。
这里要记住的最重要的事情之一是,虽然在训练过程中有人为干预,但大部分学习和适应都是自动发生的。需要如此多的迭代才能使模型产生有趣的结果,因此自动化是必不可少的。该过程在计算上相当密集。
用于创建和训练生成式 AI 模型的数学和编码非常复杂,远远超出了本文的范围。但是,如果您与作为此过程最终结果的模型进行交互,那么这种体验无疑是不可思议的。您可以让 DALL-E 生产看起来像真正艺术品的东西。您可以与 ChatGPT 进行对话,就像与另一个人对话一样。研究人员真的创造了一台思考机器吗?
从事 Watson AI 产品工作的前 IBM 自然语言处理负责人 Chris Phipps 说不。他将 ChatGPT 描述为“非常好的预测机器”。
Phipps 也是一名喜剧演员,他将游戏与一种名为 Mind Meld 的普通即兴游戏进行了比较。
我们可以向这些 AI 模型提供某些提示,这将使 Phipps 的观点更加明显。例如,考虑“什么更重,一磅铅还是一磅羽毛?”这个谜语。答案当然是它们的重量相同(一磅),尽管我们的直觉或常识可能告诉我们羽毛更轻。
ChatGPT 会正确回答这个谜语,您可能会认为它会这样做,因为它是一台冷酷的逻辑计算机,没有任何“常识”来使它出错。但这不是幕后发生的事情。 ChatGPT 并没有从逻辑上推理出答案;它只是根据对关于一磅羽毛和一磅铅的问题的预测来生成输出。由于它的训练集包括一堆解释谜语的文本,它会组装一个正确答案的版本。但如果你问 ChatGPT 两磅羽毛是否比一磅铅重,它会自信地告诉你它们的重量相同,因为根据其训练集,这仍然是关于羽毛和铅的提示最有可能的输出。告诉 AI 它错了并看着它做出反应可能很有趣;我让它为它的错误向我道歉,然后建议两磅羽毛的重量是一磅铅的四倍。

作者 east
Hive 4月 2,2023

如何把cdh中hive存储在表数据转换为pgsql

要把cdh中hive存储在表数据转换为pgsql,您可能需要以下步骤:

  1. 在cdh集群上配置一个外部账户,以便访问CDP云存储2。
  2. 在CDP Data Lake集群上创建一个Hive数据仓库,并设置相应的权限和配置1。
  3. 在CDH集群上使用Replication Manager服务创建一个Hive复制策略,选择要复制的数据库和表,并指定目标CDP Data Lake集群和存储位置2。
  4. 运行复制策略,并检查复制结果和日志2。
  5. 在CDP Data Lake集群上使用Beeline或其他客户端连接到Hive服务,并验证数据是否正确导入2。
  6. 在CDP Data Lake集群上使用以下命令将Hive表导出为CSV文件3:
DROP TABLE IF EXISTS TestHiveTableCSV;
CREATE TABLE TestHiveTableCSV ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' AS SELECT * FROM TestHiveTable;
  1. 在CDP Data Lake集群上使用以下命令将CSV文件复制到本地目录:
hadoop fs -copyToLocal /user/hive/warehouse/testhivetablecsv /tmp
  1. 在本地目录上使用以下命令将CSV文件导入到pgsql数据库:
psql -d testdb -c "COPY testpgtable FROM '/tmp/testhivetablecsv' WITH (FORMAT csv);"
作者 east
人工智能 4月 2,2023

采用并扩展 Excel 以进行 AI 数据准备

有时最好的 IT 解决方案就是您已经拥有的解决方案。当然,并非总是如此:例如,云基础设施往往比私有数据中心产生更多的灵活性和选择。除非你是嘿!,在这种情况下,你会认为私有数据中心是正确的选择。
正如我的同事 David Linthicum 所强调的那样,关键是不要沉迷于“面向流行语的架构”,在这种架构中,企业可能“花费两倍的钱来实现实际上不需要容器化的工作负载的现代化,这一切都是因为有人想把他们简历上的容器。”
问题不在于容器。或云。或者 [在此处插入热门技术]。不,问题在于将行业流行语广泛应用于业务问题,而不是让业务问题决定解决方案。
鉴于疯狂的企业如何将神奇的机器学习仙尘应用到他们的业务挑战中,机器学习和人工智能 (ML/AI) 是值得深思熟虑的领域之一。鉴于当今 ML/AI 人才相对匮乏,值得看看如何更好地利用贵公司已经雇用的人才,而不是祈祷你能够聘请数据科学家神奇地发现数据中的洞察力。一种更好的方法可能是更好地利用世界上最流行的数据工具来为机器学习模型准备好数据。是的,我说的是 Excel。
人工智能的新进展为数百万人提供了机会,让他们可以通过机器学习开始创作各种内容,从代码到复制再到艺术。自 2022 年 11 月公开发布以来,ChatGPT 占据了世界各地的头条新闻,并引发了商业应用的热潮,同时也出现了许多滥用 ChatGPT 反馈、担心论文和考试作弊等例子。
谷歌推出了一款名为 GPT for Sheets 的 Chrome 扩展程序,它允许用户使用会话语言来操作数据;微软表示,它将把 ChatGPT 集成到其所有产品中,首先是 Bing。微软最近向 ChatGPT 的创建者 OpenAI 投资了 100 亿美元。
但与 ChatGPT 应用程序一样令人兴奋(有时令人失望)的是,已经有一种更加平凡且有前途的机器学习方法可用。
我之前写过关于 Akkio 的文章,这是一家结合了无代码和人工智能的机器学习公司,以及民主党如何在 2022 年选举周期中将该工具变成印钞机。 Akkio 推出了 Chat Data Prep,这是一个很酷的新机器学习平台,允许用户使用普通对话语言转换数据。技术术语是自然语言处理,但考虑它的不那么流行的方式是它可以改变 Excel 用户的工作方式,并使他们能够更轻松地接受 AI 的承诺。
全世界估计有 7.5 亿人使用 Excel。微软 CEO 萨蒂亚·纳德拉 (Satya Nadella) 宣布 Excel 是公司最重要的消费产品。将 Excel 转变为机器学习的强大工具,对于让机器学习成为普通企业员工最终可以利用的东西大有帮助。
Akkio 联合创始人 Jonathan Reilly 在接受采访时说:“我们试图弄清楚的一件事是如何在数据上构建使用 AI 所需的所有转换,即使在我们简单的无代码 ML 平台上也是如此。” “然后我们意识到我们可以只使用 ML 来完成这项任务。没有组织希望财务规划人员花时间导入、导出和处理数据——他们希望他们专注于数据告诉他们的事情。”
Akkio 的新功能让用户只需输入会话语言即可更改电子表格数据。利用人工智能和大型语言模型,该平台解释用户的请求并对数据进行必要的更改。这出奇的简单。亲眼看看 Akkio 的在线演示(非门控)。
为什么这很重要?您可能会向数据科学家支付六位数的费用来让您的数据发挥作用,但他们的大部分时间都花在了数据转换上,也就是数据争论上。这是在不更改数据集内容的情况下将数据从一种格式、标准或结构转换为另一种格式、标准或结构的技术过程,以便为机器学习模型的使用做好准备。数据准备相当于清洁工作,尽管是非常重要的工作。转型提高了业务和分析流程的效率,并使企业能够做出更好的数据驱动决策。但除非用户熟悉 Python 或流行的查询语言 SQL,否则它既困难又耗时。
例如,涉及几个步骤,从数据清理开始(转换数据类型并删除不需要的字符)。下面是一个假设的示例,说明了解 SQL 或 Python 的人可能会进行转换以协调多个数据集以用于机器学习模型:
从 Year_Birth 中减去当前年份。
它与上面的相似,但增加了从日期特征中提取年份部分。
这包括四个步骤:
并不断。
在 Excel 的四分之三的十亿用户中,没有多少人拥有这些基本的编程技能。但他们中的任何一个都可以用普通英语输入一个简单的请求,而 Chat Data Prep 将完成数据转换的繁重工作。它甚至可以提供结果预览,以便您检查输出是否符合您的要求。 Akkio 声称 Chat Data Prep 可以将准备分析数据所需的时间减少 10 倍。借助 Chat Data Prep,用户可以重新格式化日期、执行基于时间的数学运算,甚至可以使用简单的对话命令修复混乱的数据字段。
使数据分析更易于访问、更高效、更准确是 AI 在幕后悄悄使越来越成为可能的平凡魔术之一。 ChatGPT 将成为头条新闻,但您的 Excel 用户可能会在企业内承担机器学习转型的重任。

作者 east
人工智能 4月 2,2023

零样本学习和生成人工智能的基础

我们可能记得 2022 年是认知人工智能技术从实验室走向主流应用的一年。 ChatGPT 是一种回答问题的对话式 AI,在不到一周的时间内用户从零增加到一百万。图像生成 AI DALL-E 2、Midjourney 和 Stable Diffusion 开放了公众访问,并以从短短语和句子生成的图像的多样性和质量吸引了全世界的关注。
我承认玩 DALL-E 2 很有趣。这是两个迷失的灵魂在鱼缸里游泳的演绎,蒂姆伯顿描绘了打开未成熟鳄梨的痛苦。
Snowflake 产品管理总监 Torsten Grabs 表示:“人工智能已经成为特斯拉和 Waymo 等自动驾驶汽车、无与伦比的游戏玩法(想想 AlphaGo)以及 DALL-E 等迷人的艺术一代等项目的头条新闻。”
许多机器学习模型使用监督学习技术,其中使用标记数据集训练神经网络或其他模型。例如,您可以从标记为猫、狗和其他宠物的图像数据库开始,然后训练 CNN(卷积神经网络)对它们进行分类。
在现实世界中,大规模标记数据集既昂贵又复杂。医疗保健、制造业和其他行业有许多不同的用例来做出准确的预测。合成数据可以帮助扩充数据集,但训练和维护监督学习模型的成本仍然很高。
要了解生成式 AI,首先要了解不依赖于标记数据集的学习算法。单次和零次学习算法是示例方法,它们是生成式 AI 技术的基础。
以下是 ChatGPT 定义单次学习和零次学习的方式:
John Snow Labs 的首席技术官 David Talby 说:“顾名思义,单次或少量学习旨在从一个或仅几个示例中对对象进行分类。目标是让人类用简单的英语提示模型成功识别图像、短语或文本。”
一次性学习是通过对每个样本进行单一训练示例来执行的,比如新员工的头像。然后该模型可以计算两个头像之间的相似度分数,例如与样本匹配的人的照片,并且该分数确定足够的匹配以授予访问权限。一次性学习的一个示例使用了 Omniglot 数据集,该数据集包含来自 50 个不同字母表的 1,623 个手绘字符。
在零样本学习中,网络接受图像和相关数据的训练,包括字幕和其他上下文元数据。零样本学习的一种方法使用 OpenAI 的 CLIP(对比语言-图像预训练)将图像降维为编码,从文本中创建所有可能标签的列表,然后计算匹配图像与标签的相似度得分。然后可以使用该模型使用相似性得分将新图像分类为标签。
OpenAI 的生成 AI DALL-E 使用 CLIP 和 GAN(生成对抗网络)来执行反向功能并从文本创建图像。
小样本学习技术的一项应用是在医疗保健领域,其中带有诊断结果的医学图像可用于开发分类模型。 “不同的医院可能会以不同的方式诊断病情,”Talby 说。 “通过一次或几次学习,临床医生可以在不使用代码的情况下提示算法来实现特定结果。”
但不要指望全自动放射学诊断会过早出现。 Talby 说:“虽然自动提取信息的能力非常有价值,但一次性、少量甚至零样本学习不会很快取代医疗专业人员。”
Persistent 的首席技术官 Pandurang Kamat 分享了其他几个潜在的应用。 “零样本和少样本学习技术在药物发现、分子发现、零日攻击、客户支持团队的案例偏转以及其他可能很难标记训练数据的领域释放机会。”
Kamat 还警告当前的局限性。 “在计算机视觉中,这些技术在图像识别、分类和跟踪方面效果很好,但在需要高精度/精确度的场景中可能会遇到困难,例如识别癌细胞并在病理图像中标记它们的轮廓,”他说。
制造业在识别缺陷方面也有潜在的小样本学习应用。 IndustrialML 的首席执行官 Arjun Chandar 说:“没有任何一家运营良好的工厂会产生足够多的缺陷来拥有大量的缺陷类图像来进行训练,因此需要构建算法以基于少至几十个样本来识别它们。”
数据科学家可能会尝试使用单次和零次学习方法来解决未标记数据集的分类问题。学习算法和工具的一些方法包括使用 Amazon SageMaker 构建基于新闻的警报系统或在会话代理中使用零样本学习。
开发人员和数据科学家还应该将新的学习技术和可用模型视为新应用程序和解决方案的构建块,而不是针对特定问题优化的模型。例如,Moveworks 的工程总监 Chang Liu 表示,开发人员可以利用大规模 NLP(自然语言处理)模型,而不是自己构建模型。
“随着大型语言模型的引入,团队正在利用这些智能系统大规模解决问题。语言模型不需要构建一个全新的模型,只需要根据任务的描述和适当的答案进行训练,”刘说。
未来的人工智能解决方案可能看起来像今天的软件应用程序,混合了专有模型、嵌入式商业和开源组件以及第三方服务。 Snowflake 的 Grabs 表示:“几乎所有愿意花时间定义 AI 解决方案问题并采用新工具和实践来产生初始和持续改进的公司都可以获得成就。”
我们可能会在 2023 年看到新的学习方法和 AI 成就,因此数据科学团队必须不断研究、学习和试验。

作者 east
大数据开发 4月 1,2023

什么数据操作中的可观察性?

现在是早上 8 点,一位业务负责人正在查看财务绩效仪表板,质疑结果是否准确。几个小时后,一位客户登录到您公司的门户网站并想知道为什么他们的订单没有显示最新的定价信息。下午,数字营销主管很沮丧,因为来自他们的 SaaS 工具的数据源从未进入他们的客户数据平台。数据科学家也很沮丧,因为他们无法在没有加载最新数据集的情况下重新训练他们的机器学习模型。
这些是数据操作问题,它们很重要。企业应该正确地期望准确和及时的数据将被传送到数据可视化、分析平台、客户门户、数据目录、ML 模型,以及任何数据被消费的地方。
数据管理和数据操作团队花费大量精力构建和支持数据湖和数据仓库。理想情况下,它们由实时数据流、数据集成平台或 API 集成提供,但许多组织仍然有数据处理脚本和手动工作流,这些应该在数据债务清单上。不幸的是,数据管道的稳健性有时是事后才想到的,数据操作团队通常在解决数据集成中的源、管道和质量问题时反应迟钝。
在我的《数字开拓者》一书中,我写到数据集成工具较少的日子,手动修复数据质量问题是常态。 “每个数据处理应用程序都有一个日志,每个进程,无论有多少脚本以菊花链方式连接,也都有一个日志。在寻找失败进程的根本原因时,我成为了 sed、awk、grep 和 find 等 Unix 工具的向导,可以解析这些日志。”
今天,有比 Unix 命令更强大的工具来实现数据管道的可观察性。 Dataops 团队负责超越连接和转换数据源;他们还必须确保数据集成可靠地执行并有效地解决数据质量问题。
可观察性是 devops 团队采用的一种实践,可以通过客户旅程、应用程序、微服务和数据库功能进行跟踪。实践包括集中应用程序日志文件、监控应用程序性能以及使用 AIops 平台将警报关联到可管理的事件中。目标是创建可见性、更快地解决事件、执行根本原因分析、确定性能趋势、启用安全取证并解决生产缺陷。
Dataops 可观察性针对类似的目标,只是这些工具分析数据管道,确保可靠的数据交付,并帮助解决数据质量问题。
Monte Carlo 的联合创始人兼首席技术官 Lior Gavish 说:“数据可观察性是指组织在数据操作生命周期的每个阶段了解其数据健康状况的能力,从仓库或湖中的摄取到商业智能层,大多数数据质量问题都会暴露给利益相关者。”
Ascend.io 的首席执行官兼创始人 Sean Knapp 详细阐述了数据操作问题陈述:“可观察性必须有助于识别关键因素,例如管道的实时运行状态和数据形状的趋势,”他说。 “应及早发现延迟和错误,以确保在商定的服务水平内无缝传输数据。企业应该掌握管道代码中断和数据质量问题,以便可以快速解决这些问题,而不是传播给下游消费者。”
Knapp 强调商人是数据操作管道的主要客户。许多公司都在努力成为数据驱动的组织,因此当数据管道不可靠或不可信时,领导者、员工和客户都会受到影响。数据操作可观察性工具对于这些组织来说可能至关重要,尤其是当公民数据科学家将数据可视化和数据准备工具用作日常工作的一部分时。
Coralogix 的开发倡导者 Chris Cooney 说:“可观察性不仅仅是仪表板上呈现的几张图表。这是一种跨越整个堆栈的工程实践,使团队能够做出更好的决策。”
DevOps 团队通常使用多种监控工具来覆盖基础设施、网络、应用程序、服务和数据库。它类似于数据操作——同样的动机,不同的工具。 Calyptia 的创始人兼首席执行官 Eduardo Silva 说:“您需要有适当的系统来帮助理解这些数据,没有任何一种工具是足够的。因此,您需要确保您的管道可以将数据路由到各种目的地。”
Silva 推荐供应商中立的开源解决方案。这种方法值得考虑,尤其是因为大多数组织都使用多个数据湖、数据库和数据集成平台。这些数据平台之一内置的数据操作可观察性功能可能易于配置和部署,但可能无法提供跨平台工作的整体数据可观察性功能。
需要什么能力? Acceldata.io 的联合创始人兼首席技术官 Ashwin Rajeev 说:“企业数据可观察性必须有助于克服与​​构建和运行可靠数据管道相关的瓶颈。”
Rajeev 阐述道,“数据必须每次都通过使用适当的 API 和 SDK 仪器来高效地交付。工具应具有适当的导航和向下钻取功能,以便进行比较。它应该可以帮助数据操作团队快速识别瓶颈和趋势,以便更快地进行故障排除和性能调整,从而预测和预防事故。”
Dataops 可观察性的一个方面是操作:从源到数据管理平台再到消费的可靠性和准时交付。第二个问题是数据质量。 Coalesce 联合创始人兼首席执行官 Armon Petrossian 表示:“dataops 中的数据可观察性涉及确保业务和工程团队能够访问经过适当清理、管理和转换的数据,以便组织能够真正做出数据驱动的业务和技术决策。随着数据应用程序的当前发展,为了最好地准备数据管道,组织需要专注于提供代码优先方法的灵活性但基于 GUI 以实现企业规模的工具,因为毕竟不是每个人都是软件工程师”
因此,数据操作和数据可观察性必须具有吸引使用 API 和开发强大的实时数据管道的编码人员的能力。但非编码人员也需要数据质量和故障排除工具来处理他们的数据准备和可视化工作。
“就像 devops 广泛依赖低代码自动化优先工具一样,dataops 也是如此,”Gavish 补充道。 “作为数据操作生命周期的重要组成部分,数据可观察性解决方案必须易于跨多个数据环境实施和部署。”
对于许多大型企业而言,可靠的数据管道和应用程序并不容易实施。 Mphasis 首席解决方案官 Ramanathan Srikumar 表示:“即使有了此类可观察性平台的帮助,大型企业的团队也难以抢先预防许多事件。” “一个关键问题是,数据无法充分洞察流经多个云和遗留环境的交易。”
Teradata 的首席产品官 Hillary Ashton 对此表示赞同。 “现代数据生态系统本质上是分布式的,这就造成了在整个生命周期中管理数据健康的艰巨任务。”
然后她分享了底线:“如果你不相信你的数据,你永远不会成为数据驱动的。”
Ashton 建议,“对于高度可靠的数据管道,公司需要一个 360 度视图,通过查看遥测数据来集成运营、技术和业务元数据。该视图允许识别和纠正问题,例如数据新鲜度、缺失记录、模式更改和未知错误。在流程中嵌入机器学习也可以帮助自动化这些任务。”
在使用 Unix 命令解析日志文件以解决数据集成问题方面,我们已经走了很长一段路。今天的数据观察工具要复杂得多,但为企业提供可靠的数据管道和高质量的数据处理仍然是许多组织面临的挑战。接受挑战并与业务领导者合作进行敏捷和增量实施,因为基于不可信数据构建的数据可视化和 ML 模型可能会导致错误且可能有害的决策。

作者 east
mysql 4月 1,2023

Oracle 为 MySQL HeatWave 添加了机器学习特性

甲骨文正在为其数据分析云服务 MySQL HeatWave 添加新的机器学习功能。
MySQL HeatWave 在单个 MySQL 数据库中结合了 OLAP(在线分析处理)、OLTP(在线事务处理)、机器学习和 AI 驱动的自动化。
该公司在周四宣布更新时表示,新的机器学习功能将被添加到该服务的 AutoML 和 MySQL Autopilot 组件中。
虽然 AutoML 允许开发人员和数据分析师在 MySQL HeatWave 中构建、训练和部署机器学习模型,而无需转移到单独的机器学习服务,但 MySQL Autopilot 为 HeatWave 和 OLTP 提供了基于机器学习的自动化,例如自动配置、自动编码、自动查询计划、自动形状预测和自动数据放置等功能。
甲骨文表示,AutoML 添加的基于机器学习的新功能包括多变量时间序列预测、无监督异常检测和推荐系统,并补充说所有新功能都已普遍可用。
“多变量时间序列预测可以预测多个按时间排序的变量,其中每个变量都取决于其过去值和其他因变量的过去值。例如,考虑到用于发电的各种能源,它被用来建立预测模型来预测冬季的电力需求,”甲骨文研究高级副总裁 Nipun Agarwal 说。
与让受过时间序列分析或预测培训的统计学家为所需输出选择正确算法的常规做法相比,AutoML 的多变量时间序列预测会自动预处理数据以选择 ML 模型的最佳算法并自动调整模型,公司说。
“HeatWave AutoML 自动预测管道使用了一项专利技术,该技术由高级时间序列预处理、算法选择和超参数调整等阶段组成,”Agarwal 说,并补充说这种自动化可以帮助企业节省时间和精力,因为他们不需要有训练有素的统计人员。
根据 Constellation Research 首席分析师 Holger Muller 的说法,多变量时间序列预测功能是 Oracle 的 MySQL HeatWave 所独有的。
“时间序列预测,多变量或其他方式,目前不作为提供机器学习增强分析的单一数据库的一部分提供。例如,AWS 为时间序列提供了一个单独的数据库,”Muller 说。
除了多变量时间序列预测,Oracle 还在 MySQL HeatWave 中添加了基于机器学习的“无监督”异常检测。
该公司表示,与使用特定算法检测数据中特定异常的做法相比,AutoML 可以从未标记的数据集中检测不同类型的异常,并补充说,当企业用户不知道异常类型是什么时,该功能可以帮助他们数据集。
“HeatWave AutoML 生成的模型为所有类型的异常(本地、集群和全局)提供了高精度。该过程是完全自动化的,数据分析师无需手动确定要使用的算法、要选择的功能以及超参数的最佳值,”Agarwal 说。
此外,AutoML 添加了一个推荐引擎,它称之为推荐系统,支持 MySQL HeatWave 中算法选择、特征选择和超参数优化的自动化。
“使用 MySQL HeatWave,用户可以调用 ML_TRAIN 过程,该过程会自动训练模型,然后存储在 MODEL_CATALOG 中。要预测推荐,用户可以调用 ML_PREDICT_ROW 或 ML_PREDICT_TABLE,”Agarwal 说。
此外,甲骨文还在 HeatWave 中为业务用户添加了一个交互式控制台。
“新的交互式控制台允许业务分析师使用可视化界面构建、训练、运行和解释 ML 模型——无需使用 SQL 命令或任何编码,”Agarwal 说,并补充说该控制台使业务用户更容易探索条件场景他们的企业。
“添加交互式控制台符合企业试图让机器学习负责的做法。该控制台将帮助商业用户深入池中,因为他们希望发展成为‘公民数据科学家’,以避免陷入过多的困境,”dbInsight 首席分析师 Tony Baer 说。
该控制台最初可用于 AWS 上的 MySQL HeatWave。
甲骨文还表示,它将为 AWS 上的 HeatWave 添加对 Amazon S3 存储的支持,以降低成本并提高服务的可用性。
“当数据从 MySQL(InnoDB 存储引擎)加载到 HeatWave 时,会向构建在 S3 上的横向扩展数据管理层制作一份副本。当操作需要将数据重新加载到 HeatWave 时,例如在错误恢复期间,多个 HeatWave 节点可以并行访问数据,并且数据可以直接加载到 HeatWave 中,无需任何转换,”Agarwal 说。
添加到 MySQL HeatWave 的新功能包括 MySQL Autopilot 的两个新增功能——自动形状预测顾问与交互式控制台的集成和自动卸载。
“在交互式控制台中,数据库用户现在可以访问 MySQL Autopilot 自动形状预测顾问,该顾问会持续监控 OLTP 工作负载,以在任何给定时间推荐正确的计算形状并提供解释——让客户始终获得最佳性价比,”阿加瓦尔说。
据该公司称,自动卸载功能可以根据工作负载历史推荐要卸载的表。
“释放内存可以减少运行工作负载所需的集群大小并节省成本,”Agarwal 说,并补充说这两个功能都已普遍可用。
Oracle 正在提供更小形状的 HeatWave,以吸引数据量更小的客户。
该公司表示,与早期标准 HeatWave 节点的 512GB 大小相比,较小的形状将具有 32GB 的大小,能够以每月 16 美元的价格处理高达 50GB 的数据。
此外,该公司表示,其标准 512GB HeatWave Node 的数据处理能力已从 800GB 增加到 1TB。
“随着这一增长和其他查询性能的改进,HeatWave 的性价比优势进一步提高了 15%,”Agarwal 说。

作者 east
大数据开发 3月 31,2023

数据科学的冰山一角

数据科学远不止是当今商业世界的一个时髦流行语,它正在重新定义公司与客户互动的方式。
无论是哪个行业——零售、保险、制造、银行、旅游——每个大企业都有自己处理数据科学的方式。他们必须。数据无处不在。这是新的黄金,挖掘这些数据对于任何企业的成败都至关重要。
数据提供了对区分竞争对手的信息的访问。数据驱动的公司为客户提供更好的服务并做出更好的决策——所有这些都是因为这些决策有数据支持。
数据科学是商业世界的下一个演变,那些不能适应这一新现实的将不复存在。另一种选择是灭绝。
这就是一家欧洲时装和服装零售连锁店面临的命运。成立于 1980 年代初,它以以客户为中心的高档面对面购物体验为基础。在线零售商的出现和激增对其业务造成了重大打击。当它的实体店开始挣扎时,这家店本可以认命,搬进历史的垃圾箱。
相反,它拥抱了数字化。
该公司将积极的客户体验作为重点,计划进行全渠道数字化转型,以管理客户、收集数据并提供客户所需的产品和服务。
它始于电子商务渠道的推出和 CRM 系统的构建,以通过忠诚度计划管理客户和收集数据。为了保持以客户为中心的商业精神,他们专注于开发专门的创新能力,以确保为消费者提供他们想要的产品和服务。最后,他们转向数字化客户流程并优化客户旅程。
如今,这家时尚零售商保留其实体店,让购物者能够看到和体验其提供的系列。在线商店被用作与部分客户互动并了解他们需要和想要什么的沟通渠道。
为了维持这种新方法,创建了八个数字团队,并且对所有可以衡量的东西进行了衡量。这种数字化转型使企业能够将其 90% 的收入追溯到最终客户。
对于尚未涉足数据科学游戏或在该领域迈出第一步的公司,第一个也是最重要的建议是要谦虚,承认这不是你一个人可以做的事情,并齐心协力专业团队。
数据科学是一个复杂的领域,要正确使用它,需要工程师、科学家和分析师开发人工智能平台,以识别、收集、评估和利用数据,以发挥最大优势。他们可以制定战略,确定所需数据的类型、收集数据的最佳方法、收集信息所需的系统以及如何确保数据干净和可用以便将其货币化。
该团队还可以开发支持数据捕获和收集所需的基础设施,包括 AI 或机器学习平台以及用于大计算机存储容量的云平台。
云平台是关键。它支持快速部署数据,并大大缩短了获得对企业及其客户的宝贵见解所需的时间。分析工程师可以构建可靠的数据管道,实现自助报告和可视化。
但是查看数百万个接触点并试图弄清楚如何从中提取有意义的信息可能是一项艰巨的任务。数据驱动不仅仅意味着解锁数据、存储数据并让每个人都可以访问。它是关于从收集到的信息中提取见解,以预测未来的见解,建议短期、中期和长期的投资方向,减少客户流失,预测需求,优化物流链或自动化业务流程。
在最有用的时候,数据科学会从大型数据集中提取不明显的模式,例如购买、预订、索赔或银行交易,以帮助企业做出更好的决策。
了解您的客户是任何企业的基本原则,客户购买模式的历史数据不仅是最常见和最容易访问的数据集,也是最重要的数据集之一。它可以预测未来的需求,并提供有价值的洞察力来影响未来的消费者选择。
客户关系管理 (CRM) 系统是有效使用数据科学的良好起点。零售商可以使用这些数据来识别具有相似行为和品味的客户群体,还可以更好地了解经常一起购买的产品。
北美领先的服装制造商之一,拥有令人自豪的 150 年历史,多年来建立了生产能力,扩大了销售网络,并投资于营销。但也许它今天最重要的举措是它的数据科学分析。数据科学部门直接向 CEO 报告,并与谷歌平台上的海量数据合作,以更有效地吸引客户。
在 COVID 大流行期间,随着越来越多的服装购物者被推到网上,公司的数据科学部门蓬勃发展,改善了公司的数字足迹,以收集尽可能多的消费者数据——谁在网上购物,谁在实体店购物,他们正在检查什么在网上,他们花了多少钱,他们如何支付他们的购买,他们最终购买了什么——并使用所有这些信息来创建配置文件和跟踪模式。
然后通过直接针对符合这些概况的消费者的营销活动将数据货币化。
随着数据科学的进步,客户交互变得更加个性化。重点不再是建立关于群体、特定市场或地区的广泛概况,而是越来越注重个人。
流媒体服务使用数据来改善用户体验。他们向观众推荐他们的算法确定个人可能喜欢的标题。简单的假设是,这只是基于观众之前可能观看过的内容。例如,因为您喜欢这部由汤姆·克鲁斯主演的动作片,也许您也会喜欢这部由汤姆·克鲁斯主演的另一部动作片。
然而,它比这复杂得多。流媒体将从通过分析来自世界各地的大量用户数据构建的原型配置文件开始。然后它将采用个人的观看模式(标题、流派、演员、季节性),将它们与来自世界各地的该个人资料中的其他人以及他们正在观看的内容交织在一起,以提出建议。
旅游和酒店业依靠数据科学帮助其从大流行中恢复过来。
几乎没有企业能幸免于大流行的负面影响,但旅游业却遭受重创。在大流行之前,全球机场运营市场的价值估计为 2210 亿美元。在大流行迫使边境关闭并几乎关闭了休闲航空旅行之后,这一数字暴跌至 946 亿美元。 2021 年略有改善,达到 1302 亿美元,但仍远未达到他们想要的水平。
面临的挑战是开发和实施数据驱动的解决方案,以更新收入流、优先考虑公共卫生、增强客户体验并支持可持续发展计划。
在提高运营效率的同时关注客户体验比以往任何时候都更加重要,预计将在未改变的财务目标参数范围内完成。
世界上最大的航空公司之一正在使用数据科学来预测与延误和取消的投诉和索赔相关的成本。这帮助航空公司解决了运营中断问题并提高了客户满意度。它还能够开发和推出新的解决方案,以改进在线支付方式、启动绩效警报系统以及优化维护资金的使用。
从客户服务到货运,该航空公司现在已经制定了收集和分析信息和开发新想法的流程,并对内部数据分析有了更深入的了解。
我们只站在数据科学冰山一角。数据科学已经是成功企业的重要组成部分,其用途将成倍增加。用不了多久,所有交易系统——购买、预订、银行业务——都将在工作流程中嵌入人工智能。数据分析将部署在每个企业的每个应用程序中。没有它,任何组织都无法在大量投资于数据分析的竞争中生存下来。

作者 east
大数据开发 3月 31,2023

为什么开发人员使用 Confluent 来管理 Apache Kafka

想象一下,您正在领取食品杂货,或者正在寻找关于接下来要在电视上看什么的推荐,或者正在使用信用卡而不用太担心欺诈。为这些交互提供支持的应用程序都依赖于动态数据,而且 Apache Kafka 很有可能为这些应用程序提供支持。
超过 80% 的财富 100 强企业使用 Kafka 作为事件流底层,为实时、面向用户的应用程序和软件驱动的后端提供支持。 Kafka 已成为任何希望通过不可变事件日志而不是可变数据存储来集成日益多样化的应用程序和微服务组合的组织的首选。好处是多方面的,但请记住,Kafka 是一个分布式系统,自愿自己操作分布式系统是一个越来越有争议的选择。
这就是云存在的原因。通过完全托管的云服务,供应商承担资本支出并积累良好运行基础架构所需的运营专业知识。 Confluent 是市场上第一个完全托管的 Kafka 服务,让您专注于构建应用程序和为业务增加价值,而不是在操作复杂的基础设施层上转动拨号盘。我想向您介绍一下 Confluent 如何为使用 Kafka 的人们的生活带来和平与简单。
对应用程序功能的需求总是大于交付它的能力。这意味着应用程序团队应该专注于创造他们可能创造的最大价值的活动。通常,这意味着提供可直接为客户和用户带来竞争优势的新功能。
当然,所有应用程序都需要存储和计算基础架构才能在持续开发和维护中发挥作用,从而分散了对创造价值的功能开发的注意力。对于 Kafka 来说尤其如此,因为分布式数据基础设施给决定自己操作它的团队带来了巨大的机会成本。简而言之:您的工作最终是照顾好您的客户。虽然运行 Kafka 可能是达到此目的的一种方法,但它可能不是完成工作的最实用方法。这一挑战是导致托管云服务兴起的众多原因之一。
弹性可扩展性一直是云神话的固有部分,但在实现过程中进展缓慢。在云历史的早期,数据库创新者应用新方法来实现海量数据集的水平弹性可扩展性。最近,微服务和容器编排帮助大众实现了应用程序的可扩展性。然而,众所周知,数据基础架构一直难以轻松扩展。
Kafka 有一个出色的水平扩展故事:主题被分区,单独的分区日志被分配给不同的代理,然后由可扩展的客户端应用程序集群使用。有一些可编写脚本的工具可以管理这些面向规模的功能,但自我管理的集群仍然需要大量的操作和技术专业知识。例如,随着集群随时间的变化,分区日志不会均匀分布在代理上。此外,随着业务条件的发展,还会添加新主题,并且分区可能会收到不均衡的读写流量。随着时间的推移,这只是集群管理员必须注意的事情之一。
Confluent 具有内置的弹性可扩展性。集群吞吐量从 0 扩展到 100MBps,无需干预,通过一个简单的 Web UI 可达到 11GBps(撰写本文时的当前记录)——无需移动分区,无需重新平衡代理。随着世界慢慢赶上云最初的弹性规模承诺,Confluent 以真正的云原生方式为数据基础设施带来规模。
无论如何,您的生活将是多云的,因此数据基础架构层需要具有多云能力才能成为有力的竞争者。 Confluent 是多云,原生支持 AWS、Microsoft Azure 和 Google Cloud。当您需要在多个云上运行,或者至少能够威胁到时,这种灵活性是必不可少的。 Confluent 通过使用单一的管理 Web UI 和从特定云基础设施中抽象出来的统一控制平面,使这一切变得简单。
但多云并不总是足够的!有时您不想将所有内容都移动到云端。许多公司希望混合使用本地、私有云或公共云服务。这种混合云体验是 Confluent 的首要考虑因素,可以通过 Confluent UI 维护备份服务、隔离产品和管理复杂的 B 计划。
正如 Kafka 社区在其诞生 10 年中所发现的那样,要构建成功的事件驱动系统,您需要的不仅仅是分布式日志。您还需要在所有系统和流之间建立可靠且安全的连接,这绝非易事。然后你就可以开始通过实时流处理从整个系统中提取价值。
围绕核心 Kafka 功能出现了几个组件,以帮助满足来自开源生态系统和 Confluent 的这些需求:
这些组件的事实是团队最终将需要它们。正是出于这个原因,他们从 Kafka 社区和 Confluent 中脱颖而出。几乎不可能精通这些领域中的每一个领域来构建不需要持续关注即可平稳运行的解决方案。
借助 Confluent,您可以轻松获得使用 Kafka 取得成功所需的所有工具。您可以使用一个平台,您需要的一切都以无缝、集成的方式提供,包括数百个连接到流行数据源的连接器。
Kafka 有一个最小可行的安全故事:它提供强大的动态数据加密和基于 ACL 的身份验证和授权作为选项。 Confluent 以企业期望的方式扩展了这些功能。
例如,Confluent 中的所有数据在静态和动态中都是加密的。最重要的是,应用程序还需要对每次调用进行身份验证,从而消除意外拥有“完全开放”端口的威胁。
Confluent 的各种其他功能有助于简化安全性,包括基于 SAML 的单点登录和对 VPC 中其他云资源的安全访问。
作为这些安全功能的证明,Confluent 符合许多行业标准和认证成就,符合 PCI、HIPAA 和 GDPR 以及 SOC1、SOC2、SOC3 和 ISO 27001 认证的要求。
在获得所有这些认证的同时还提供许多其他开箱即用的安全和方便的功能是一项挑战。开发人员可以放心地构建,同时将繁重的安全提升留给托管平台。
但不要只相信我的话。您可以通过 Confluent 或您选择的云提供商免费试用我们完全托管的 Kafka 服务。
Tim Berglund 是 Confluent 的开发者宣传高级总监。

作者 east
chatgpt 3月 30,2023

利用ChatGPT不到10分钟生成一个网页工具

作为一个程序员,经常需要用到一些在线网页工具,例如时间戳转换,json格式转换。一直想做这类的工具,但苦于自己对网页开发不熟悉。

想到了ChatGPT,开始试试神奇生成代码之旅。

问ChatGPT:

设计一个在线时间戳的页面

ChatGPT答:

可以使用HTML、CSS和JavaScript编写一个简单的在线时间戳页面,如下所示:

<!DOCTYPE html>
<html>
<head>
    <title>Online Timestamp</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
        }
        h1 {
            margin-top: 50px;
        }
        input {
            padding: 10px;
            font-size: 16px;
            border-radius: 5px;
            border: none;
            box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3);
            margin-top: 20px;
            width: 250px;
        }
        button {
            background-color: #4CAF50;
            color: white;
            padding: 10px;
            font-size: 16px;
            border-radius: 5px;
            border: none;
            cursor: pointer;
            box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3);
            margin-top: 20px;
            width: 100px;
        }
    </style>
</head>
<body>
    <h1>Online Timestamp</h1>
    <input type="text" id="timestamp" placeholder="Enter timestamp">
    <button onclick="convertTimestamp()">Convert</button>
    <p id="result"></p>

    <script>
        function convertTimestamp() {
            var timestamp = document.getElementById("timestamp").value;
            var date = new Date(timestamp * 1000);
            var year = date.getFullYear();
            var month = ("0" + (date.getMonth() + 1)).slice(-2);
            var day = ("0" + date.getDate()).slice(-2);
            var hours = ("0" + date.getHours()).slice(-2);
            var minutes = ("0" + date.getMinutes()).slice(-2);
            var seconds = ("0" + date.getSeconds()).slice(-2);
            var formattedDate = day + "/" + month + "/" + year;
            var formattedTime = hours + ":" + minutes + ":" + seconds;
            document.getElementById("result").innerHTML = formattedDate + " " + formattedTime;
        }
    </script>
</body>
</html>

该页面包括一个标题、一个输入框和一个按钮。用户可以在输入框中输入UNIX时间戳(自1970年1月1日以来的秒数),然后单击按钮将其转换为日期和时间,并将结果显示在页面上。JavaScript代码使用Date对象将时间戳转换为日期和时间,并格式化输出。HTML和CSS代码则用于构建页面布局和样式。

觉得功能太简单,又对ChatGPT下达命令:

追问ChatGPT:

再加一个功能,需要把输入标准时间,例如2023-03-30 14:00:00的时间转换成时间戳

ChatGPT答:

可以在现有的时间戳转换页面上添加一个额外的输入框和按钮,以便用户可以将标准时间转换为时间戳。以下是修改后的代码:

<!DOCTYPE html>
<html>
<head>
    <title>Online Timestamp</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
        }
        h1 {
            margin-top: 50px;
        }
        input {
            padding: 10px;
            font-size: 16px;
            border-radius: 5px;
            border: none;
            box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3);
            margin-top: 20px;
            width: 250px;
        }
        button {
            background-color: #4CAF50;
            color: white;
            padding: 10px;
            font-size: 16px;
            border-radius: 5px;
            border: none;
            cursor: pointer;
            box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3);
            margin-top: 20px;
            width: 100px;
        }
    </style>
</head>
<body>
    <h1>Online Timestamp</h1>
    <input type="text" id="timestamp" placeholder="Enter timestamp">
    <button onclick="convertTimestamp()">Convert to Date and Time</button>
    <p id="result"></p>

    <input type="datetime-local" id="datetime" placeholder="Enter date and time">
    <button onclick="convertDateTime()">Convert to Timestamp</button>
    <p id="result2"></p>

    <script>
        function convertTimestamp() {
            var timestamp = document.getElementById("timestamp").value;
            var date = new Date(timestamp * 1000);
            var year = date.getFullYear();
            var month = ("0" + (date.getMonth() + 1)).slice(-2);
            var day = ("0" + date.getDate()).slice(-2);
            var hours = ("0" + date.getHours()).slice(-2);
            var minutes = ("0" + date.getMinutes()).slice(-2);
            var seconds = ("0" + date.getSeconds()).slice(-2);
            var formattedDate = day + "/" + month + "/" + year;
            var formattedTime = hours + ":" + minutes + ":" + seconds;
            document.getElementById("result").innerHTML = formattedDate + " " + formattedTime;
        }

        function convertDateTime() {
            var datetime = document.getElementById("datetime").value;
            var date = new Date(datetime);
            var timestamp = Math.round(date.getTime() / 1000);
            document.getElementById("result2").innerHTML = timestamp;
        }
    </script>
</body>
</html>

还是觉得美中不足,又对ChatGPT下达命令:

追问ChatGPT:增加一个功能,显示当前东八区的时间

ChatGPT答:

可以使用JavaScript获取当前的日期和时间,并将其转换为东八区的时间。以下是修改后的代码:

<!DOCTYPE html>
<html>
<head>
    <title>Online Timestamp</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
        }
        h1 {
            margin-top: 50px;
        }
        input {
            padding: 10px;
            font-size: 16px;
            border-radius: 5px;
            border: none;
            box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3);
            margin-top: 20px;
            width: 250px;
        }
        button {
            background-color: #4CAF50;
            color: white;
            padding: 10px;
            font-size: 16px;
            border-radius: 5px;
            border: none;
            cursor: pointer;
            box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3);
            margin-top: 20px;
            width: 100px;
        }
    </style>
</head>
<body>
    <h1>Online Timestamp</h1>
    <input type="text" id="timestamp" placeholder="Enter timestamp">
    <button onclick="convertTimestamp()">Convert to Date and Time</button>
    <p id="result"></p>

    <input type="datetime-local" id="datetime" placeholder="Enter date and time">
    <button onclick="convertDateTime()">Convert to Timestamp</button>
    <p id="result2"></p>

    <h2>Current Time in GMT+8:</h2>
    <p id="current-time"></p>

    <script>
        function convertTimestamp() {
            var timestamp = document.getElementById("timestamp").value;
            var date = new Date(timestamp * 1000);
            var year = date.getFullYear();
            var month = ("0" + (date.getMonth() + 1)).slice(-2);
            var day = ("0" + date.getDate()).slice(-2);
            var hours = ("0" + date.getHours()).slice(-2);
            var minutes = ("0" + date.getMinutes()).slice(-2);
            var seconds = ("0" + date.getSeconds()).slice(-2);
            var formattedDate = day + "/" + month + "/" + year;
            var formattedTime = hours + ":" + minutes + ":" + seconds;
            document.getElementById("result").innerHTML = formattedDate + " " + formattedTime;
        }

        function convertDateTime() {
            var datetime = document.getElementById("datetime").value;
            var date = new Date(datetime);
            var timestamp = Math.round(date.getTime() / 1000);
            document.getElementById("result2").innerHTML = timestamp;
        }

        function getCurrentTime() {
            var now = new Date();
            var utcOffset = now.getTimezoneOffset();
            var gmt8Offset = -480; // GMT+8 offset in minutes
            var localOffset = utcOffset - gmt8Offset;
            now.setMinutes(now.getMinutes() + localOffset);
            return now;
        }

        var currentTime = getCurrentTime();
        var year = currentTime.getFullYear();
        var month = ("0" + (currentTime.getMonth() + 1)).slice(-2);
        var day = ("0" + currentTime.getDate()).slice(-2);
        var hours = ("0" + currentTime.getHours()).slice(-2);
        var minutes = ("0" + currentTime.getMinutes()).slice(-2);
        var seconds = ("0" + currentTime.getSeconds()).slice(-2);
        var formattedTime = day + "/" + month + "/" + year + " " + hours + ":" + minutes + ":" + seconds;
        document.getElementById("current-time").innerHTML = formattedTime;
        setInterval(function() {
            currentTime = getCurrentTime();
            year = currentTime.getFullYear();
            month = ("0" + (currentTime.getMonth() + 1)).slice(-2);
            day = ("0" + currentTime.getDate()).slice(-2);
            hours = ("0" + currentTime.getHours()).slice(-2);
            minutes = ("0" + currentTime.getMinutes()).slice(-2);
            seconds = ("0" + currentTime.getSeconds()).slice(-2);
            formattedTime = day + "/" + month + "/" + year + " " + hours + ":" + minutes + ":" + seconds;
            document.getElementById("current-time").innerHTML = formattedTime;
        }, 1000); // update time every second
    </script>
</body>
</html>

最终生成工具如下:

借助ChatGPT,不到10分钟就基本初步达到自己想要的效果。如果自己看工具书编写,或者通过传统的搜索引擎,不顺利时可能要几个小时才做出来。

作者 east

上一 1 … 43 44 45 … 93 下一个

关注公众号“大模型全栈程序员”回复“小程序”获取1000个小程序打包源码。回复”chatgpt”获取免注册可用chatgpt。回复“大数据”获取多本大数据电子书

标签

AIGC AI创作 bert chatgpt github GPT-3 gpt3 GTP-3 hive mysql O2O tensorflow UI控件 不含后台 交流 共享经济 出行 图像 地图定位 外卖 多媒体 娱乐 小程序 布局 带后台完整项目 开源项目 搜索 支付 效率 教育 日历 机器学习 深度学习 物流 用户系统 电商 画图 画布(canvas) 社交 签到 联网 读书 资讯 阅读 预订

官方QQ群

小程序开发群:74052405

大数据开发群: 952493060

近期文章

  • spark内存溢出怎样区分是软件还是代码原因
  • MQTT完全解析和实践
  • 解决运行Selenium报错:self.driver = webdriver.Chrome(service=service) TypeError: __init__() got an unexpected keyword argument ‘service’
  • python 3.6使用mysql-connector-python报错:SyntaxError: future feature annotations is not defined
  • 详解Python当中的pip常用命令
  • AUTOSAR如何在多个供应商交付的配置中避免ARXML不兼容?
  • C++thread pool(线程池)设计应关注哪些扩展性问题?
  • 各类MCAL(Microcontroller Abstraction Layer)如何与AUTOSAR工具链解耦?
  • 如何设计AUTOSAR中的“域控制器”以支持未来扩展?
  • C++ 中避免悬挂引用的企业策略有哪些?

文章归档

  • 2025年7月
  • 2025年6月
  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年1月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年7月
  • 2018年6月

分类目录

  • Android (73)
  • bug清单 (79)
  • C++ (34)
  • Fuchsia (15)
  • php (4)
  • python (45)
  • sklearn (1)
  • 云计算 (20)
  • 人工智能 (61)
    • chatgpt (21)
      • 提示词 (6)
    • Keras (1)
    • Tensorflow (3)
    • 大模型 (1)
    • 智能体 (4)
    • 深度学习 (14)
  • 储能 (44)
  • 前端 (4)
  • 大数据开发 (491)
    • CDH (6)
    • datax (4)
    • doris (31)
    • Elasticsearch (15)
    • Flink (78)
    • flume (7)
    • Hadoop (19)
    • Hbase (23)
    • Hive (41)
    • Impala (2)
    • Java (71)
    • Kafka (10)
    • neo4j (5)
    • shardingsphere (6)
    • solr (5)
    • Spark (100)
    • spring (11)
    • 数据仓库 (9)
    • 数据挖掘 (7)
    • 海豚调度器 (10)
    • 运维 (34)
      • Docker (3)
  • 小游戏代码 (1)
  • 小程序代码 (139)
    • O2O (16)
    • UI控件 (5)
    • 互联网类 (23)
    • 企业类 (6)
    • 地图定位 (9)
    • 多媒体 (6)
    • 工具类 (25)
    • 电商类 (22)
    • 社交 (7)
    • 行业软件 (7)
    • 资讯读书 (11)
  • 嵌入式 (71)
    • autosar (63)
    • RTOS (1)
    • 总线 (1)
  • 开发博客 (16)
    • Harmony (9)
  • 技术架构 (6)
  • 数据库 (32)
    • mongodb (1)
    • mysql (13)
    • pgsql (2)
    • redis (1)
    • tdengine (4)
  • 未分类 (7)
  • 程序员网赚 (20)
    • 广告联盟 (3)
    • 私域流量 (5)
    • 自媒体 (5)
  • 量化投资 (4)
  • 面试 (14)

功能

  • 登录
  • 文章RSS
  • 评论RSS
  • WordPress.org

All Rights Reserved by Gitweixin.本站收集网友上传代码, 如有侵犯版权,请发邮件联系yiyuyos@gmail.com删除.