一、本地化部署的意义和 方法(WHY)
1.常见的大模型:ChatGPT、文心一言等,特点都是在线的模型,受限于网络和各种服务端限制
2.AI PC 强调使用本地的资源自由自主的运行大模型,本地化部署是核心
3.Ollama https://ollama.com/ 和LM Studio https://lmstudio.ai/
4.这里我们选择更加方便的ollama,运行第一个本地化模型,下载安装后ollama后,命令行运行:
ollama run qwen:14b
然后展开对话吧。
为什么是Ollma
无限接近docker的使用方法。带来方便的模型管理方式。
Ollama 支持的模型列表 https://ollama.com/library
不只是当前先进的语言模型,另外支持向量模型
二、本地化部署的模型能做什么(WHAT)
仅仅是运行一个模型么?本地化部署的意义:实现更强的功能
离大模型落地应用最近的工程化技术(RAG)
1.大模型自身的缺陷:模型滞后(时间落后)、模型幻觉(答非所问)、私有数据匮乏。
为解决这个问题:训练、微调、提示词功能、RAG分别从不同的角度,以不同的代价和效果来增强模型功能。
1. 训练模型 (Training a Model)
-
定义:从头开始训练一个模型,通常在大型数据集上进行。
-
优点:
-
可以针对特定任务从头开始学习。
-
能够获得与任务高度相关的模型表示。
-
缺点:
-
需要大量的标注数据和计算资源。
-
训练时间较长。
2. 微调模型 (Fine-tuning a Model)
-
定义:在预训练模型的基础上,针对特定任务进行额外的训练。
-
优点:
-
利用预训练模型的知识,减少所需数据和计算资源。
-
快速适应新任务。
-
缺点:
-
可能存在领域偏差,如果任务与预训练数据差异较大。
-
需要足够的领域特定数据进行有效微调。
3. 提示词工程 (Prompt Engineering)
-
定义:设计问题或任务的表述方式,以指导预训练模型生成期望的输出。
-
优点:
-
无需改变模型权重,通过调整输入来影响输出。
-
灵活,可以针对各种不同的任务快速设计提示词。
-
缺点:
-
需要创造性地设计有效的提示词,这可能需要试错。
-
对于复杂的任务,可能需要多个提示词或复杂的提示结构。
4. Retrieval-Augmented Generation (RAG)
-
定义:结合检索机制和序列生成模型,首先检索相关信息,然后基于检索到的内容生成输出。
-
优点:
-
结合了检索的广泛信息和生成模型的灵活性。
-
能够利用外部信息源,生成更准确、更丰富的回答。
-
缺点:
-
需要有效检索系统和生成模型的结合。
-
检索到的信息可能不总是相关,需要模型有能力筛选和整合信息。
综合对比:
-
资源需求:微调和提示词工程通常比从头训练模型需要更少的资源。RAG可能需要额外的检索系统资源。
-
适应性:微调和RAG能够较好地适应新任务,而从头训练模型和提示词工程则依赖于设计和现有数据。
-
灵活性:提示词工程提供了高度的灵活性,而RAG则在生成能力上提供了灵活性。
-
性能:从头训练的模型理论上可以提供最佳性能,但实际中微调、提示词工程和RAG通过利用预训练模型和外部信息,也能实现优异的性能。
在实际应用中,选择哪种方法取决于任务的具体需求、可用资源、数据集的大小和特性以及期望的部署速度。通常,这些方法可以结合使用,以实现最佳的性能和效率。
2.通过本地知识库的方式来弥补大模型的缺陷是目前流行的强化大模型的方向。
2.maxkb智能知识库系统,打造属于自己的AI助手
docker run -d --name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data 1panel/maxkb
MaxKB的业务架构
4.引入本地知识库后,结构如下
以上是MaxKB的设计原理,是一个典型的基于RAG的AI应用的架构范例
6.什么是RAG,检索增强生成(Retrieval-augmented Generation)
RAG的核心流程图
三、基于本地化部署应急群AI助手实现步骤(HOW)
1.实际应用:某电商网站的应急微信群,每天会收到大量的客服问题,有一部分是固定的回复方式,此部分就可以借助基于RAG的AI应用,辅助(甚至是自动完成回答)。
达成目标的准备条件:
A:一个充实的本地知识库
B:一个本地化运行的模型
C:一个由A和B组成的AI知识库系统
实现步骤:
1.MaxKB配置ollama模型
重点关注是API域名:http://host.docker.internal:11434/ MaxKB推荐安装方式为docker,所以外部连接需要指定宿主机。另外ollama提供对外接口能力,对应接口为11434。
2.MaxKB本地知识库准备
可以导入各种文档也可以自行添加分段
3.MaxKB创建助手应用并完成测试
关注重点:
关联知识库
配置模型
提示词,提示词工程是AI应用的重要内容,好的提示词会引导并规范模型的输出。这方面的细节和优化需要展开为另外的课题单独讨论。
4.调试后发布
如何应用
发布后可以通过标准的REST API,供其他服务调用
http://localhost:8999/doc/
也可以通过嵌入方式直接对接原系统客服系统
四、达成目标后哪里可以更好(WHERE)
1.知识问答的局限性:基于知识库的问答,可以提高回答的准确性,但无法分析具体的问题,比如某某优惠券为什么不可用。简单的输出优惠券的使用规范,虽然正确并没有抓住核心问题。需要额外的实时查询数据支撑。
第一个Agent的组成:知识库、Function Call(实时调取接口能力)、流程搭建、模型推理
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓
👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓