从 2022 年底开启的生成式人工智能风暴,经过近两年的发展,已经在改变每个人的生活。这是一篇基于本公司业务的报告。

初步结论

根据调研,无论是私有大模型还是公共 API,只要符合业务场景的合规性要求即可使用。其中私有化大模型的基本框架仍然是 LLM+LangChain 的方式。通过 LangChain 来实现知识库的对接。

需要特别说明的是,如果需要针对高校场景进行垂类模型搭建,需要自行构建大模型并进行训练,达到通用模型微调的目的,以适应学校场景。

另外对于大模型辅助教育,可能需要分专业知识进行更系分垂直的训练。

常用名词

★ LLM 大语言模型

large language model,具有大量参数(参数量通常为数十亿,甚至干亿以上)的语言模型,经过大规模文本语料库的训练。GPT-4和 ChatGPT就属于LLM,它们能够生成自然语言文本、处理复杂语境并解答难题。

★ 基座模型

基座模型(Base Model)是经过海量数据预训练(Pre-train)得到的,它具备一定的通用能力,相当于一个“潜力未知”的庞大的知识库,具备续写能力(持续预测下一个单词),但人类很难直接与其进行对话交互。

★ 微调模型

在预训练模型的基础上,针对特定任务进行额外的训练。这个过程通常发生在模型已经在大量数据上进行了预训练,学习到了通用的特征和模式之后。微调的目的是使模型更好地适应特定的应用场景或数据集。

更多术语见表:请至钉钉文档查看附件《术语表》

Gradio

了解即可。 Gradio 是一个 Python 库,它允许用户非常方便地为机器学习模型创建简单的 Web 应用界面。这些界面可以用于展示模型的功能、进行交互式探索或者收集数据。Gradio 使得机器学习模型的演示和测试变得更加容易,无需深厚的前端开发知识。

★ LangChain

专用于开发 LLM 驱动的应用程序的框架。可以简化构建基于大型语言模型(LLM)的应用程序的过程。提供了一套工具、组件和接口,使得开发者能够更容易地创建由大型语言模型和聊天模型支持的应用程序。

映射-归约:自动对长文本(含Pdf)进行分块处理,并合并最后的处理结果。

关键模块

  • Modles(模型):标准接口,可与各 LLM 交互,支持多种不同类型的模型。
  • Prompt(提示词):提供许多可以用于管理提示词的工具。
  • Indexes(索引):该模块能够将 LLM 与私有数据结合使用。
  • Chains(链):该模块提供了 Chain 接口,可以使用该接口创建一个调用序列,将多个模型或提示词组合在一起。
  • Agents(智能体):处理用户输入、做出决策并选择适当工具来完成任务的组件。以迭代的方式工作,采取一系列行动,直到解决问题。
  • Memory(记忆): 能够在链调用或智能体调用之间维持状态。

智能体工具:谷歌搜索、维基百科搜索、计算器、天气预报等。支持构建自定义工具。

★ 知识嵌入

  • document_loaders 模块。可加载 CSV、电子邮件、PPT、Evernote、Facebook聊天记录、Html 页面、PDF 等。向量数据库 Faiss。
  • 首先检索信息,即获取用户的查询并返回最相关的文档;然后将这些文档发送到模型的输入上下文中,以便它响应查询。

模型微调

概念

  • 通过微调工具,加入企业独有的场景数据,对基础模型进行微调。快速定制出更符合业务场景需求的专属大模型。
  • 使用场景如:需要采用特定的风格、语调;需要处理复杂的任务;需要提高输出的可靠性;难以通过 Prompt 说明的新任务。

微调方式

Lora 微调

通过在模型的现有权重矩阵中添加低秩矩阵来调整模型,可以在增加少量计算负担的情况下有效调整模型。只需要添加少量参数,参数效率高;资源利用少且训练周期较短.

全参微调

对预训练模型的所有参数进行调整获得新模型。可以对模型进行全面的调整,使其更好地适应新任务;在有足够数据和计算资源的情况下,更可能达到更优的性能。

★ 微调步骤

  1. 准备并上传训练数据:
    1. 由一批包含输入和期望输出的数据构成
    2. 高质量训练数据,微调效果越好。
    3. 由人工审查的至少数百条高质量的训练数据;
      2. 训练新的微调模型
      3. 部署并使用微调模型

构造训练数据时,需注意根据真实业务场景中的训练目标,构造和调整各类细分任务场景的训练数据量分布,尽量覆盖业务场景所有可能的数据样本。如训练目标是同时强化文本分类、信息提取、文本生成的效果,需要在训练数据中分别提供适用于这几类任务的足量训练数据。

★ 应用场景

法律文本分析、自动代码审查、财务文档摘要、技术文档翻译、为专业领域生成模型、

智能体(Agent)

前文:处理用户输入、做出决策并选择适当工具来完成任务的组件。以迭代的方式工作,采取一系列行动,直到解决问题。

方法:通过 Prompt 工程(模板)来准备知识库,生成式人工智能会根据该模板,结合插件来回答用户的问题;

示例:智能体 User Insight Assistant(UIA),作者《人人都是产品经理》 苏杰。在本智能体中,作者使用了以下文档作为智能体的知识:

  • 如何使用UIA(User Insight Assistant)获得更好的互动结果.docx
  • 请引导我开始产品创新的探索.docx
  • UIA(User Insight Assistant)是什么.docx
  • 1-领域理解引导手册.docx
  • 2-用户研究引导手册.docx
  • 3-竞品分析引导手册.docx
  • 4-方案设计引导手册.docx
  • 5-原型测试引导手册.docx
  • 范例:低成本原型的方法与案例.docx

插件(Plugins)

功能:为 LLM 提供更广泛的功能,使 LLM 能够访问实时信息,进行复杂的数学运算,并利用第三方服务。
关键词:CROS(跨资源共享)、Quart(Python 微框架);
OpenAI:插件的两个必要性文件:插件清单ai-plugin.json(介绍插件,帮助 AI 理解插件)、openai.yaml(描述 Http API 的标准);
场景检索体育比赛得分、股票价格、从企业文档知识库提取数据、预定航班、订餐。

开发 GPT-4 插件涉及创建一个 API,使用 OpenAPI 规范来指定其行为,并在插件清单文件中描述插件及其用法。通过这种设置,GPT-4 可以有效地充当智能的 API 调用者,从而获得超越文本生成的能力。

:::
思考:应用的 AI+改造,除了让业务功能适用于对话式使用外,应该按需推出自己的插件,以实现如预定等功能。
:::

模型存储

GGUF 和 GGML 是用于存储推断模型的文件格式

GGML

GGML(GPT-Generated Model Language): 由 Georgi Gerganov 开发,GGML 是一个为机器学习设计的张量库,便于在各种硬件上实现大型模型和高性能,包括 Apple Silicon。

  • 优点:

    • 早期创新: GGML 是早期尝试创建 GPT 模型文件格式的一种尝试。
    • 单一文件共享: 它使在单个文件中共享模型成为可能,提高了便利性。
    • CPU 兼容性: GGML 模型可以在 CPU 上运行,扩大了可访问性。
  • 缺点:

    • 灵活性受限: GGML 难以添加有关模型的额外信息。
    • 兼容性问题: 引入新功能通常会导致与旧模型的兼容性问题。
    • 需要手动调整: 用户经常需要修改设置,如 rope-freq-base、rope-freq-scale、gqa 和 rms-norm-eps,这可能会很复杂。

GGUF

GGUF(GPT-Generated Unified Format),作为 GGML 的继任者,于 2023 年 8 月 21 日发布。这个格式代表了语言模型文件格式领域的一大进步,便于存储和处理像 GPT 这样的大型语言模型。

  • 优点:

    • 解决 GGML 的限制: GGUF 设计旨在克服 GGML 的缺点,提升用户体验。
    • 可扩展性: 它允许添加新功能,同时与旧模型保持兼容性。
    • 稳定性: GGUF 专注于消除破坏性变化,简化迁移到新版本的过程。
    • 多功能性: 支持各种模型,超越了 llama 模型的范围。
  • 缺点:

    • 过渡时间: 将现有模型转换为 GGUF 可能需要相当长的时间。
    • 需要适应: 用户和开发者必须适应这种新格式。

★ 风险问题

  • AI幻觉:不可避免,可以通过知识库生成较为严格的回答、使用插件;
  • 提示词注入:不可避免,可通过分析层来过滤输入与输出。
  • 其他问题:训练数据的时效性,对多模态的支持不确定(文本、图片、视频、声音等),可通过插件进行弥补,同时带来安全问题和定制化挑战。

★ 应用场景

文本生成

  • 场景:新闻稿编写。
  • 基于视频(字幕)的检索问答
    • 关键词:映射-规约,长文本分块。
  • 基于知识库的检索与回答
    • 关键词:Redis、text-embedding-ada-002
    • 场景:基于产品知识库、档案文档、图书馆电子图书等的检索与问答。
    • 场景:会议纪要。
  • 语音个人助理
    • 关键词:Wisper语音转文本、Gradio 简单构建 WEB 应用、状态机(Question、Answer、More、Other)
    • 场景:发送电子邮件、请销假,可按要求获取更多信息。
  • 个性化学习
    • 场景:沉浸式语言助理对话学习、语法病句改正、编写/解释/优化代码、
  • 模型拓展
    • 分专业模型
      • 关键词:微调模型
      • 场景:专业知识的个性化学习

★ 部署优势

私有化部署

  • 数据隐私与安全需求:涉及个人隐私信息(例如学生、教职工的个人信息)或者敏感数据(如学术研究成果)
  • 定制化需求:特定的教学、管理流程等,定制开发大语言模型。
  • 成本与资源考量:较大的初始投资和持续的运维成本,包括硬件设备、软件许可、专业人员等。
  • 合规性要求:数据处理和技术使用有严格的要求。

云端公共 API

  • 成本效益:短期内成本更低。
  • 易于上手和快速部署:快速接入和使用。
  • 数据隐私和安全:敏感信息可能引发数据隐私和安全的担忧。
  • 定制化与控制度:具体的定制需求或深度集成到现有系统中受限。
  • 依赖性风险:可用性和稳定性的风险。
  • 合规性与法律考量:额外的合规性审查

其他思考

  • 系统的深度融合

    • 与现有业务系统进行深度融合,与学校真实数据融合。
    • 让 AI 深度学习现有业务系统的使用方式、接口。
    • 高校知识库(档案、科研资料、设备资料等)的深度学习。
  • 应用的 AI 适配

    • 优化流程,适配对话式交互。
    • B 端、C 端的不同部署方式可能不同。
  • 低成本测试

    • 商用 API,如 ChatGPT、讯飞星火、智谱
    • 各产品说明书等知识库的对话式问答;
  • 其他思考

    • 私有大模型+私有文档知识库的竞争力不如在线工具。
    • 私有大模型的竞争优势在于与本地知识、本地系统的深度融合。

:::
逆向训练?AI 基于产品说明书发出提问,产品经理做答。AI 基于答案进行学习。
:::

  • 资料摘录
    1. 意图服务:检测用户意图、检测需要使用的数据源、检测是否符合使用规则、检测敏感信息。
    2. 信息检索服务:根据意图从数据源检索正确的信息
    3. 响应服务:根据检索出的信息生成用户答案。text-embedding-ada-002 模型,提升结果准确度。

★ 提升技巧

  • Prompt 提示工程:设计有效的提示词,包含角色、上下文、任务等;
  • 零样本学习:引导模型逐步思考(step by step,零样本思维链策略);
  • 少样本学习:在提示词中添加示例内容(一般多个,此处用一个),单样本学习:
  • 改善方式:指示模型提出更多问题、格式化输出、重复指示、负面提示、添加长度限制等;
  • 为特定任务微调
    • 微调后的模型是新模型;
    • 微调时必须使用基础模型(有较好的泛化能力);
    • 二次微调、连续微调:
      • 多任务、多领域学习,知识积累
      • 灾难性遗忘以及过拟合风险。可使用任务无关的特征表示、正则化技术、知识蒸馏等减轻。
      • 微调内容:提示词+补全文本(OpenAI最大512MB 或 200 万 Token)
  • 新技术:自洽性(self-consistency)、思维树(tree of thoughts)、推理与行动(ReAct)。此处待探索。

★ Prompt 策略

文本生成

  • 策略:编写清晰、具体的指令

    • 技巧:定义 System Prompt。用于设定AI助手行为模式的工具,包括角色设定、语言风格、任务模式和针对特定问题的具体行为指导。
    • 技巧:提供具体的细节要求。在 Prompt 中添加要求模型输出内容的细节和背景信息。
    • 技巧:让 GLM 进行角色扮演。让 GLM 扮演角色、可以更准确地模仿该角色的行为和对话方式。
    • 技巧:使用分隔符标示不同的输入部分。请基于以下内容:""" 要总结的文章内容""" 提炼核心观点和纲要。
    • 技巧:思维链提示。要求模型分步骤解答问题,还要求其展示其推理过程的每个步骤。通过这种方式,可以减少不准确结果的可能性,并使用户更容易评估模型的响应。
    • 技巧:少样本学习。可以作为进行少样本学习的示例。这些样本可以用来引导模型模仿特定的行为和语言风格。
  • 策略:提供参考资料

  • 策略:将复杂任务分解为简单的子任务

    • 技巧:意图理解和实体提取。要求大模型输出的内容要直接给到后端服务接口使用,所以大模型一定要按照固定格式输出格式,以便于接口解析模型输出内容,防止报错。
    • 技巧:总结上文关键信息。在长对话中,为了确保对话的连贯性和有效性,对之前的交流内容进行精炼和总结,可以保持对话的焦点、减少重复和混乱、加快模型处理速度。
    • 技巧:分段归纳长文档并逐步构建完整摘要。由于模型处理文本的上下文长度有限,它无法一次性总结超出特定长度的文本。例如,在总结一本长书时,我们可以采用分步骤的方法,逐章节进行总结。各章节的摘要可以组合在一起,再进行进一步的概括,形成更为精炼的总摘要。
  • 策略:给予模型思考时间

    • 技巧:在模型给出最终结论之前,先引导它进行自我探索和推理。在明确引导模型进行推理判断之前,让它先生成结果作为基准。例如,如果我们需要模型评估代码的质量,可以先让模型自行生成答案,随后再对其正确性进行评判。这样做不仅促使模型更加深入地理解任务,还可以提高最终结果的准确性和可靠性。
    • 技巧:隐藏推理过程,只输出结果。在回答问题之前,模型有时需要进行深入的推理并将推理过程一并输出,可以引导模型只输出结果或者结构化信息以便于解析处理。
  • 策略:使用外部工具增强模型能力

    • 技巧:通过访问外部 API。允许模型访问外部信息和执行操作,信息查询:如实时天气预报、股票市场动态,提供即时且准确的数据,执行操作:比如播放音乐、控制智能家居设备等。
    • 技巧:通过访问外部知识库。用户可上传相关的知识到知识库,模型将基于用户的查询,提取相关的语义切片,提供更加精准详细的信息。

图像生成

  • 主体: 人、动物、建筑、物体等
  • 媒介: 照片、绘画、插图、雕塑、涂鸦等
  • 环境: 竹林、荷塘、沙漠、月球上、水下等
  • 光线: 自然光、体积光、霓虹灯、工作室灯等
  • 颜色: 单色、复色、彩虹色、柔和色等
  • 情绪 : 开心、生气、悲伤、惊讶等
  • 构图/角度: 肖像、特写、侧脸图、航拍图等

附件

  1. 沃顿商学院给教师和学生的提示词库:https://open.bigmodel.cn/dev/howuse/prompt
  2. 请至钉钉文档查看附件《大模型能力对比》
  3. 请至钉钉文档查看附件《AI.pdf》