2023年上半年,广泛使用API(如OpenAI)来创建基于大型语言模型(LLM)的基础设施,极大地塑造了软件领域。
LangChain 和LlamaIndex在这一趋势中发挥了重要的作用。2023年下半年LLMOps的运维工作流程中微调(或指令调整)模型门槛降低基本成了业内标准流程,这一趋势的发展主要是由以下几个原因,1.微调的成本急剧降低,配合PEFT等方法,可以在单张T4卡上对Llama 2微调,这在以前是难以想象的;2.处理公司内保密数据的能力,3.经过微调后可在某些特定任务中开发超过ChatGPT和GPT-4等模型性能的模型的潜力。LLMOps主要包括:
0. 数据,结构化、非结构化数据,数据标注。
- LLM训练和微调,自从LLama发布后,指令微调变得越来越流行;
- 构建LLM框架:LangChain和LlamaIndex等库处理,允许您查询向量数据库,提高模型的内存或提供各种工具。
- 预测和推理(最优化推理技术):随着LLM规模的增长,应用最优化技术以确保模型能够高效地用于推理变得越来越重要。技术包括权重量化(4位、3位)、剪枝、知识蒸馏等。
- LLM部署:这些模型可以像llama. cpp一样部署在本地,也可以像huggingface的文本生成推理或vLLM一样部署在云中。
数据安全是每个公司不得不慎重对待的,为了提高生产力,降本增效又不得不接受新技术带来的工具,私有化部署对于公司还是非常有吸引力的。大语言模型这一工具结合公司的数据可以大大提高公司生产率。
预训练LLM不能按预期或希望执行时,关于如何提高LLM应用程序性能的问题?目前大致有两种做法。
Retrieval-Augmented Generation (RAG) 或者 model finetuning,RAG:这种方法将检索(或搜索)的能力集成到LLM文本生成中。它结合了检索系统和LLM,前者从大型语料库中获取相关文档片段,后者使用这些片段中的信息生成答案。本质上,RAG帮助模型“查找”外部信息以改进其响应。LangChain 和LlamaIndex属于RAG方法。
私有化LLM需要处理的问题
企业内私有化LLM部署对终端用户而言,一个是访问方式,另一个是访问内容的来源。
- 基于开源大语言模型/自研大语言模型SFT之后,以API/APP/web插件的形式司内使用;
- 基于司内企业数据以及公开行业相关数据,构建知识图谱/数据库,大语言模型参考构建好的知识图谱/数据库,提供更为精准的回答;
企业私有化部署的系统框图如下:
对应需要考虑如下五个方面:
模型训练和调优:对大型语言模型进行训练和调优,以提高其性能和准确率。
数据集清洗和预处理:对原始数据集进行清洗和预处理,以生成适合用于训练大型语言模型的数据集。
模型部署和管理:将训练好的大型语言模型部署到生产环境中,并对其进行管理和维护。
性能优化和扩展:对大型语言模型进行性能优化和扩展,以提高其效率和可扩展性。
安全和隐私保护:对大型语言模型进行安全和隐私保护,以防止敏感信息泄露和黑客攻击等安全问题。
对于模型的训练前有Huggingface rtl,后有微软的deepspeed,持续的改进层出不穷。
而数据又掌握在企业手中,网页上的数据清洗并不适用于企业。对于企业而言,安全隐私权限是个重头戏。本篇文章先看看知识图谱和向量数据库。
在传统的关系数据库中,数据通常以表格的形式组织。然而,人工智能时代的出现带来了大量的非结构化数据,包括图像、音频和文本。以表格格式存储这些数据是不合适的,需要使用机器学习算法将这些数据转换为向量表示的“特征”。向量数据库的出现是为了解决这些向量的存储和处理。
向量数据库的基础在于数据索引。通过倒排索引等技术,向量数据库可以通过对向量特征进行分组和索引来高效地进行相似度搜索。向量量化技术有助于将高维向量映射到低维空间,从而减少存储和计算需求。通过利用索引技术,向量数据库能够使用向量加法、相似性计算和聚类分析等各种操作高效搜索向量。
当前基于海量数据的大模型对数据库提出了一些挑战:
- 容纳大量数据:大规模生成人工智能模型需要大量数据进行训练,以捕获复杂的语义和上下文信息。因此,数据量呈爆炸式增长。向量数据库作为熟练的数据管理器,在有效处理和管理如此大量的数据方面发挥着至关重要的作用。
- 实现准确的相似性搜索和匹配:从大规模生成人工智能模型生成的文本通常需要相似性搜索和匹配来提供精确的回复、推荐或匹配结果。传统的基于关键字的搜索方法在复杂的语义学和上下文方面可能会有所欠缺。向量数据库在这一领域大放异彩,为这些任务提供了高度的相关性和有效性。
- 支持多模态数据处理:大规模生成人工智能模型超越文本数据,可以处理图像和语音等多模态数据。向量数据库作为能够存储和处理多种数据类型的综合系统,有效支持多模态数据的存储、索引和查询,增强了它们的通用性。
一些嗅觉敏锐的数据库已经在支持向量数据库这一特性。
SQLite:SQLite 是一种轻量级的嵌入式数据库,它支持存储大型文本、二进制和多媒体数据,并且可以通过 SQL 语句进行查询。SQLite 在移动端应用中被广泛使用,但它的查询性能可能会受到数据量和查询复杂度的影响。
Realm:Realm 是一种移动端数据库,它支持存储和管理结构化和非结构化数据,并提供了高性能的查询和数据同步功能。Realm 支持在移动端应用中使用大语言模型,并且可以通过其分片功能来支持大型数据集。
Realm Database:Realm Database 是 Realm 公司推出的一种云端数据库,它支持与 Realm 移动端数据库的无缝集成,并提供了云端数据存储和管理功能。Realm Database 也支持在移动端应用中使用大语言模型,并且可以通过其分片功能来支持大型数据集。
SQLite、Realm 和 Realm Database 等移动端数据库都可以支持大语言模型,但具体的支持方式和性能可能会有所不同。在选择数据库时,需要考虑数据量、查询复杂度、性能和安全性等因素,以选择最适合自己需求的数据库系统。
Neo4j 是一种图形数据库管理系统(Graph Database Management System,GDMS),它使用图形模型来存储和管理数据。Neo4j 可以用于存储和管理复杂的关系网络,如社交网络、供应链网络和知识图谱等。Neo4j 支持快速的图查询和分析,可以方便地发现数据中的关系和模式。
MongoDB 是一种文档型数据库管理系统(Document-based Database Management System,DBMS),它使用文档模型来存储和管理数据。MongoDB 可以用于存储和管理各种类型的数据,包括结构化数据、半结构化数据和非结构化数据。MongoDB 具有强大的数据类型支持、自动索引、高可用性和可扩展性等特点,是一种广泛使用的数据库系统。
RAG vs Fine-tunning
在检索增强生成(RAG)和微调之间进行选择对于构建有效的大型语言模型应用程序至关重要。尽管这两种技术都提高了模型功能,但它们在不同的约束下优化了不同的目标。
Fine-tuning通过对特定领域数据集的大量训练来调整整个模型,这将训练集中的专业技能和知识内化到模型中。然而,这需要大数据集、密集计算和定期的再训练来保持最新。微调模型也往往在不确定性下产生幻觉。
RAG检索外部知识给大模型提供回答问题的上下文。这保留了模型的通用性,同时允许通过更新的数据查询进行快速适应。但是RAG推理速度较慢,内存需求较高,其性能取决于知识源。
微调适合具有固定数据的封闭域,RAG适合知识不断发展的开放域。为了透明度,RAG提供可解释的检索,为了最大限度地降低幻觉风险,RAG以证据为基础做出反应。两者混合方法针对成本、速度和稳健性进行了优化。
评估模型目标、数据特征、资源限制和模型输出可信度是不同类型需求核心要点。在fine-tuning与RAG合适的平衡可以最大限度的攫取大型语言模型在应用环境中的潜力,它最终会带来更好的系统性能和用户体验。
LangChain
LangChain是将向量数据库、向量搜索以及和LLM结合的最好的工具。其支持的模块也正在急速发展中,很有可能是在大语言应用方面的顶流(支持研究+生产)。
llama_index
Unleash the power of LLMs over your data。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
![](https://img-blog.csdnimg.cn/img_convert/b88e53de745c89076fb43e6d773ce22e.png)