我的学习笔记

土猛的员外

【翻译】DSPY简易教程

目前,使用大型语言模型(LLMs)构建应用程序不仅复杂而且脆弱。典型的pipelines通常使用prompts来实现,这些prompts是通过反复试验手工制作的,因为LLMs对prompts的方式很敏感。因此,当您更改pipelines中的某个部分(例如LLM或数据)时,可能会削弱其性能—除非您调整prompts(或微调步骤)。

当您更改pipeline中的一部分时,例如LLM或数据,您可能会削弱其性能……

DSPy[1]是一个框架,旨在通过优先编程而不是prompt来解决基于语言模型(LM)的应用程序中的脆弱性问题。它允许您在更改组件时重新编译整个管道,以根据您的特定任务对其进行优化,而不是重复手动轮次的prompt工程。

虽然关于该框架的论文[1]早在2023年10月就已经发表了,但我是最近才知道的。在看了Connor Shorten的一个视频“DSPy解释!” 之后,我已经可以理解为什么开发者社区对DSPy如此兴奋了!

本文简要介绍了DSPy框架,涵盖了以下主题:

【翻译】LLM的Function-Call简易教程

Function Call(函数调用)并不是什么新鲜事。2023 年 7 月,OpenAI 为其 GPT 模型引入了函数调用,该功能现在已被竞争对手采用。Google 的 Gemini API 最近支持它,Anthropic 正在将其集成到 Claude 中。函数调用对于大型语言模型 (LLMs )来说变得至关重要,从而增强了它们的功能。

考虑到这一点,我的目标是编写一个全面的教程,涵盖基本介绍之外的函数调用(已经有很多教程了)。重点将放在实际实施上,构建一个完全自主的人工智能代理,并将其与 Streamlit 集成,以获得类似 ChatGPT 的界面。虽然 OpenAI 用于演示,但本教程可以很容易地适用于其他LLMs支持函数调用,例如 Gemini。

Function Calling是干什么用的?

Function Calling(函数调用)使开发人员能够描述函数(也称为工具,您可以将其视为模型要执行的操作,例如执行计算或下订单),并让模型智能地选择输出包含参数的 JSON 对象来调用这些函数。简单来说,它允许:

  • Autonomous decision making(自主决策):模型可以智能地选择工具来回答问题。
  • Reliable parsing(可靠的解析): 响应采用 JSON 格式,而不是更典型的类似对话的响应。乍一看似乎并不多,但这就是允许LLM连接到外部系统的原因,例如通过具有结构化输入的 API。

它开辟了许多可能性:

  • Autonomous AI assistants(自主人工智能助手): 机器人可以与内部系统交互,完成客户订单和退货等任务,而不仅仅是提供查询的答案
  • Personal research assistants(个人研究助理): 假设您正在计划旅行,助理可以在 Excel 中搜索 Web、抓取内容、比较选项和汇总结果。
  • IoT voice commands(IoT 语音命令): 模型可以控制设备或根据检测到的意图建议操作,例如调整交流温度。

Function Calling的结构

阅读全文

【翻译】神经网络背后的数学原理

神经网络是人工智能 (AI) 的核心,为从发现照片中的物体到翻译语言的各种应用提供动力。在本文中,我们将深入探讨神经网络是什么,它们是如何工作的,以及为什么它们在当今技术驱动的世界中很重要。

Index 指数

·1:了解基础知识
∘ 1.1: 什么是神经网络?
∘ 1.2: 神经网络的类型
·2:神经网络的架构
∘ 2.1: 神经元的结构
∘ 2.2: 图层
∘ 2.3: 层在学习中的作用
·3:神经网络的数学
∘ 3.1: 加权总和
∘ 3.2: 激活函数
∘ 3.3: 反向传播:神经学习的核心
∘ 3.4: 分步示例
∘ 3.5: 改进
·4:实现神经网络
∘ 4.1: 用 Python 构建简单的神经网络
∘ 4.2: 利用库实现神经网络 (TensorFlow)
·5:挑战
∘ 5.1: 克服过拟合
·6:结论

1:了解基础知识

1.1: 什么是神经网络?

神经网络是生物学和计算机科学的酷炫融合,灵感来自我们大脑处理复杂计算任务的设置。从本质上讲,它们是旨在发现模式和理解感官数据的算法,这使它们可以做很多事情,例如识别人脸、理解口语、做出预测和理解自然语言。

阅读全文

TorchV AI v1.0正式更新&新版官网上线

TorchV AI v1.0发布

经过一个忙碌的3月,2024年4月1日,我们迎来了2024年1月26日首次发版以来最大的一次更新,TorchV AI(原TorchV Bot)从原来的beta 版本升级到了正式版v1.0。

目前TorchV AI的主要技术架构依然还是RAG+LLM,实现的是”快思考“的功能。再往后,我们会在TorchV AI中逐步增加”慢思考“的功能,既更加面向业务的Agent和Workflow。

以下是TorchV AI v1.0的主要更新升级内容:

  • 整体检索能力有显著提升:
    • Rerank策略重大优化,召回率更大;
    • 表格处理能力重大优化,表格内容识别和计算能力增强;
  • 提取解析能力升级:
    • Chunking策略优化,针对文件内容疏密程度使用不同chunking方法;
    • 搭建OCR服务器,优化含图片类型文件的提取解析能力;
    • Word解析bug修复,内部表格提取能力加强;
  • 应用中心全新发布:
    • 新增应用中心大板块,用户可创建不同应用,废弃原来APIKey的直连方式
    • 应用内容增加仅限当前应用的参数配置调试窗(Playground)功能,支持发布调试后的配置;
    • 增加”一键嵌入“功能,引入几行js代码,即可在网站上实现AI问答服务。

您依然可以申请TorchV AI的试用,直接加微信(lxdhdgss)联系即可!

阅读全文

聊聊AI应用创业心得,我们在路上|大模型应用落地场景|RAG|SaaS|PaaS|GTM|TorchV

本文非AI技术文章,而是讲述我们在AI应用创业过程中的一些心得。网上常说技术创业者往往缺的不是技术,而是对市场需求的感知,以及如何做到PMF。我们离PMF还有距离,但是已经在路上,所以分享一些自己的AI创业心得,希望得到您共鸣和反馈。

为客户感到开心

昨天最开心的一件事情是我们的一个客户(后面简称“ZY”)的AI应用上线了,ZY使用的是TorchV的AI PaaS服务,而且他们切入的市场需求真的非常棒!鉴于他们做的是专属社群的生意,不太愿意在互联网过多曝光,所以我只说一些大概内容,会略去一些敏感信息。

首先他们的服务对象是在读的重点大学本科生与各类研究生,为学生提供收费的知识服务,对于他们商业模式我就不再过多透露了,但我们内部也评价了一下,确实很有卖点,而且他们具备一些独特优势。

下面我把重点放在讲述ZY与我们TorchV相关的内容上。

阅读全文

挖掘非结构化数据的价值(1)—通过RAG实现与文件对话

注意:本文【非技术文章】,适用于所有想通过最新的AI技术优化自己的工作和业务的朋友。

在大部分企业和事业单位,非结构化数据占比远大于结构化数据,挖掘非结构化数据的价值,为人们所用,任重道远。

连接的价值

图片

王坚博士的《在线》是一本相对有争议的书,当年出版不久,我记得身边的朋友里就有人踩有人捧。虽然他当时讲的更多是基于云计算和大数据的一些未来发展看法,但是其中有一个重要观点,我觉得在AI时代依然适用,那就是“连接”。连接讲的是数据与互联网的连接,是数据与各类业务系统的连接,只有发生了连接,数据的价值才会像石油遇见内燃机,交流电遇见电动机一痒,价值成倍上升。没有连接的数据就只能变成“沉默数据”,在掸去尘灰再次被人发现之前,这些资料文件毫无价值。

阅读全文

【译文】生成式AI设计模式全面指南

为什么需要AI设计模式

我们在构建新事物时,都会依赖一些经过验证的方法、途径和模式。对于软件工程师来说,这个说法非常正确,但对于生成式人工智能和人工智能本身来说,情况可能并非如此。随着生成式人工智能等新兴技术的出现,我们缺乏充分验证的模式来支撑我们的解决方案。

在这里,我分享了一些生成式人工智能的方法和模式,这些方法和模式是基于我对LLM在生产中的无数实现的评估。这些模式的目标是帮助减轻和克服生成式人工智能实现中的一些挑战,如成本、延迟和幻觉。

设计模式列表

  1. Layered Caching Strategy Leading To Fine-Tuning 使用分层缓存策略驱动微调
  2. Multiplexing AI Agents For A Panel Of Experts 多路复用AI代理,用于专家模型组合
  3. Fine-Tuning LLM’s For Multiple Tasks 微调LLM的多任务优化
  4. Blending Rules Based & Generative 基于规则和生成的混合规则
  5. Utilizing Knowledge Graphs with LLM’s 利用LLM的知识图谱
  6. Swarm Of Generative AI Agents 生成式人工智能代理的群体
  7. Modular Monolith LLM Approach With Composability 模块化单体LLM方法与可组合性
  8. Approach To Memory Cognition For LLM’s LLM的记忆认知方法
  9. Red & Blue Team Dual-Model Evaluation 红蓝队双模型评估

    阅读全文

【译文】基于Siamese网络的zero-shot意图分类

意图识别是面向目标对话系统的一项重要任务。意图识别(有时也称为意图检测)是使用标签对每个用户话语进行分类的任务,该标签来自预定义的标签集。

分类器在标记数据上进行训练,并学习区分哪个话语属于哪个类别。如果一个看起来不像任何训练话语的话语来到分类器,有时结果会很尴尬。这就是为什么我们也会对“域外”话语进行分类,这些话语根本不属于域。

阅读全文

【译文】开源多语言embedding模型对比大作战

OpenAI最近发布了他们的新一代embedding模型,称为embeddingv3,他们描述是他们性能最好的embedding模型,具有更高的多语言性能。这些模型分为两类:较小的称为text-embeddings-3-small,较大且功能更强大的称为text-embeddings-3-large

有关这些模型的设计和训练方式的信息披露得很少。正如他们之前发布的embedding模型(2022年12月与ada-002模型类)一样,OpenAI再次选择了一种闭源方法,其中模型只能通过付费API访问。

但这些性能真的值得花钱去看吗?

这篇文章的动机是将这些新模型与开源模型的性能进行实证比较。我们将依赖于一个数据检索工作流,在这个工作流中,必须根据用户查询找到语料库中最相关的文档。

我们的语料库将是欧洲人工智能法案,该法案目前处于验证的最后阶段。这个语料库除了是世界上第一个关于人工智能的法律框架外,还有一个有趣的特点,那就是它有24种语言版本。这使得比较不同语言族的数据检索的准确性成为可能。

这篇文章将通过以下两个主要步骤:

  • 从多语言文本语料库生成自定义合成问题/答案数据集
  • 在此自定义数据集上比较OpenAI和最先进的开源embedding模型的准确性。

    阅读全文

【译文】FinalMLP,一个简单而强大的推荐系统两流MLP模型

介绍

世界正在向数字时代发展,在这个时代,每个人都可以通过点击距离获得几乎所有他们想要的东西。可访问性、舒适性和大量的产品为消费者带来了新的挑战。我们如何帮助他们获得个性化的选择,而不是在浩瀚的选择海洋中搜索?这就是推荐系统的用武之地。

推荐系统可以帮助组织增加交叉销售和长尾产品的销售,并通过分析客户最喜欢什么来改进决策。不仅如此,他们还可以学习过去的客户行为,给定一组产品,根据特定的客户偏好对它们进行排名。使用推荐系统的组织在竞争中领先一步,因为它们提供了增强的客户体验。

在本文中,我们将重点介绍FinalMLP,这是一个旨在提高在线广告和推荐系统中点击率(CTR)预测的新模型。通过将两个多层感知器(MLP)网络与门控和交互聚合层等高级功能集成在一起,FinalMLP优于传统的单流MLP模型和复杂的双流CTR模型。作者通过基准数据集和现实世界的在线A/B测试测试了它的有效性。

除了提供FinalMLP及其工作原理的详细视图外,我们还提供了实现和将其应用于公共数据集的演练。我们在一个图书推荐设置中测试了它的准确性,并评估了它解释预测的能力,利用作者提出的两流架构。

FinalMLP: (F)特征门控层和(IN)交互层(A)聚合层(L)在两个mlp之上

FinalMLP[1]是建立在DualMLP[2]之上的两流多层感知器(MLP)模型,通过引入两个新概念对其进行增强:

  • 基于门控的特征选择增加了两个流之间的区别,使每个流专注于从不同的特征集学习不同的模式。例如,一个流侧重于处理用户特征,而另一个流侧重于处理项目特征。
  • 多头双线性融合改进了两个流的输出如何通过建模特征交互进行组合。使用依赖于求和或串联等线性操作的传统方法可能不会发生这种情况。

    阅读全文