大模型相关整理

机器学习

模型就是函数,这个函数可能是一个很简单的线性函数,也可以是一个非常复杂的高阶函数、或者是一个多层的神经网络函数。

机器学习领域的很多研究和方法都是在尝试设计这个函数,以自动驾驶领域为例,之前的自动驾驶基于人类的经验和思考,将这个函数设计分为了好几个阶段:感知、定位(高精度地图等)、决策、执行等几个阶段,然后对每个阶段求解目标函数。

而特斯拉最近的端到端驾驶方案,则完全颠覆了之前的基于规则和人类经验的方案,直接用一个神经网络来描述自动驾驶这个函数,函数的输入是汽车给个角度摄像头的视频流,函数的输出则是方向盘的转动角度、刹车的力度等对汽车的控制行为。特斯拉基于真实的驾驶视频流,来训练出这个神经网络,从而将人类的驾驶经验传给计算机。https://www.teslarati.com/tesla-fsd-beta-v12-2-employees/

大模型简介

大模型的定义

  • 也叫基础大模型(Foundation Model):包括大语言模型(LLM)、
  • 底层通常是深度神经网络;
  • 具有大规模的参数:10亿、百亿、千亿、万亿;
  • 具有复杂的神经网络结构;
  • 采用海量数据训练而成;

大模型的发展历程

大模型是指具有大规模参数和复杂计算结构的机器学习模型。这些模型通常由深度神经网络构建而成,拥有数十亿甚至数千亿个参数。大模型的设计目的是为了提高模型的表达能力和预测性能,能够处理更加复杂的任务和数据。大模型在各种领域都有广泛的应用,包括自然语言处理、计算机视觉、语音识别和推荐系统等。大模型通过训练海量数据来学习复杂的模式和特征,具有更强大的泛化能力,可以对未见过的数据做出准确的预测。

ChatGPT 对大模型的解释更为通俗易懂,也更体现出类似人类的归纳和思考能力:大模型本质上是一个使用海量数据训练而成的深度神经网络模型,其巨大的数据和参数规模,实现了智能的涌现,展现出类似人类的智能。

大模型分类

代码

from transformers import pipeline

generator = pipeline("text-generation", model="distilgpt2")
generator(
    "In this course, we will teach you how to",
    max_length=30,
    num_return_sequences=2,
)

以上代码会自动从huggingface下载一个训练好的模型“distilgpt2”,采用该模型来进行文本续写;

相关背景信息

  • 一个100B(1000亿)参数的预训练模型,大致需要220G的GPU内存去加载;
  • 可以通过调整参数的精度,来降低模型加载所需要的资源;
  • deepmind的一个论文指出,https://huggingface.co/papers/2203.15556,模型参数的比例和训练的数据集大小存在一个指导性的原则:控制模型参数的数量,尽量增加训练数据集的大小,也就是小模型,大数据;

部分观点

陆奇 《我的大模型世界观》——掘金卖铲

  • 今天大部分数字化产品和公司,本质是信息搬运公司。
  • 这个时代跟淘金时代很像,如果你那个时候去加州淘金,一大堆人会死掉。但是卖勺子、卖铲子的人永远可以赚钱。——AI时代的铲子是什么?
    • 数据并不是金矿,在数据里成长出来的成功商业模式才是金矿;
  • 数据、算力、模型、应用,四大要素;其中数据、算力(ai infra、ai中间件)是铲子,是勺子;
    • 马斯克twitter不再提供给ai训练使用;
    • 纽约时报起诉openai;
    • “AI Infra是连接算力和应用的AI中间层基础设施,涵盖了数据准备、模型训练、模型部署和应用整合等环节,其中的基础软件工具有较高商业化潜力;目前AI Infra产业处于高速增长的发展早期,未来3-5年内各细分赛道有望保持30%+高速增长。”

《Thousands of AI Authors on the Future of AI》

到2027年,AI有10%的概率将战胜人类,到2047年这一概率升至50%;2037年有10%的工作能自动化完成,从而解放劳动力,到2116年这一数字升至50%。

大模型上下游整理

  • GPU节点镜像的制作:测试、release、上架;
  • 节点的管理:基础环境(时间、软件仓库)、组件的安装管理;
  • 数据分发
    • 数据的加速策略:自动预热、
    • 支持rdma网络,传输速率;
    • 存储和GPU的混部,
  • 开发部署生命周期提效
  • LLM as Controller的项目做一个拆解,不同项目的主要差别在于LLM as Controller的逻辑以及各个专项Agent的能力,主要包含Visual ChatGPT、HuggingGPT、Toolformer、AutoGPT等项目。

AI Infra

涉及如下几个点:

  • 数据准备,高质量的标注数据和特征库需求将持续增长,未来海量训练数据的需求或由合成数据满足
  • 模型训练,底层分布式计算引擎和训练框架
  • 模型部署
  • 应用整合,LLMOps平台型产品

数据准备

  • 数据清洗
    • 国外典型公司如Scale/Snorkel,国内如海天瑞声,云测数据,晴数智慧,数据堂,标贝科技;
    • 通过人工做数据标注或利用模型做数据标注,爬虫做数据采集,卖数据集,把数据结构化或半结构化成高质量数据。
  • 数据合成
    • 代表厂商有gretel(B轮 5000万美元)、Mostly AI(B轮 2500万美元)等。
    • 非原始数据,没有隐私安全问题;
  • 非结构化数据的处理

模型开发训练

  • 基础环境(k8s/容器/物理机)
    • aidc
    • gpu虚拟化
  • 大模型训练框架
    • Pytorch(Meta)、TensorFlow2(Google)、paddlepaddle(百度)、mindspore(华为)及oneflow一流科技(国内创业公司,融了6轮,最近被光年之外整合)
    • insight工具:mind insight、vsdom、mlflow、tensorboard等
  • 分布式计算/超参数优化
    • Ray框架 (Anyscale)(C轮1亿美元独角兽),Dask(开源),国内的潞晨科技(已完成3轮融资)
  • 集成开发环境
    • mindstudio、pycharm、vscode、

模型部署

  • 模型市场
    • huggingface、mindspore hub
  • 模型的转换和优化
    • ONNX(Open Neural Network Exchange),是一个开放标准,用于不同框架之间进行模型交换
    • TensorRT是NVIDIA基于CUDA架构做的推理库,用于优化模型的推理速度,支持各种优化,包括层合并、精度调整(如 FP16 或 INT8 推理)
    • OPENBMB/面壁智能是清华大学支持发起的开源项目,提供一系列工具库提高模型的微调效率,模型“瘦身”(蒸馏剪枝)以及低成本硬件推理
  • 模型的实际部署
    • OctoML,底层基于 Apache TVM,支持CPU、GPU、FPGA 等多种硬件平台,OctoML 可以自动优化模型以获得最佳性能。
    • TensorFlow Serving:特别针对 TensorFlow 模型进行了优化,但也支持其他类型的模型。
    • Amazon SageMaker:基于AWS的云托管模型部署方案。
    • Replicate:提供开箱即用的模型云端部署API(A+轮 3200万美元)
  • 模型的监测与管理
    • 国外的厂商例如Bento、Weights&biases,Arize,国内的创业公司如星鲸科技
    • 提供跟踪实验列表、版本、使用数据集、评估模型性能,重现模型、效果可视化等功能,这些都属于MLops公司
  • 模型的数据隐私安全
    • 和传统的安全场景类似;CalypsoAI主要做大模型安全,工具可对模型安全性与可靠性进行校验

应用整合

部分创业公司

  • BentoML:
  • lepton ai
lep photon create --name mygpt2 --model hf:gpt2

lep photon run --name mygpt2 --local

lep photon run --name mygpt2 --deployment-name mygpt2

  • Scaleway:Scaleway 是一家法国云计算公司,提供各种容器托管服务。Scaleway 使用大模型来自动化容器平台的资源分配、故障处理和安全监控。
  • Forescout:Forescout 是一家网络安全公司,提供网络安全解决方案。Forescout 使用大模型来分析容器的网络流量,并检测安全威胁。
  • Enigma.ai:Enigma.ai 是一家瑞士公司,提供隐私保护解决方案。Enigma.ai 使用大模型来在保护数据隐私的情况下,分析容器平台的数据。
  • Seldon:Seldon 是一家美国公司,提供机器学习模型部署平台。Seldon 使用大模型来为容器平台上的机器学习模型提供可解释性。

什么是大语言模型?

  • 基于大量数据训练出来的神经网络,规模很大,比如175B参数;
  • 可以应用于:文本翻译、摘要、聊天机器人;
  • 底层的神经网络架构,大语言模型基本上都采用transformer架构;

Transformer

transformer, 2017年google提出的;在自然语言处理上碾压RNN、LSTM等模型,主要是注意力机制;

  • 循环神经网络(RNNs)不使用注意力机制,而是逐个单词地遍历输入。相比之下,Transformer能同时处理整个输入序列。同时处理整个输入序列意味着Transformer的工作速度更快,并且能处理输入序列中单词之间更复杂的联系。
  • 长短期记忆网络(LSTMs)使用隐藏状态来记住过去发生的事情。然而,当存在太多层时(也称为梯度消失问题),它们可能难以学习。与此同时,转换器表现得更好,因为它们可以同时查看所有输入和输出单词,并找出它们之间的关系(这要归功于它们巧妙的注意力机制)。由于注意力机制,它们非常擅长理解单词之间的长期联系。

有一篇论文,attension is all you need。https://arxiv.org/pdf/1706.03762.pdf

  • 文本嵌入:token,vector;
    • 文字首先被拆分成token,token并不是一个word,可能是word的一部分;
    • token -> word embeding; 一个向量,词的相似度;
  • 位置编码:词的位置信息被编码进输入的vector中;
  • 编码层/self-attention:Multiple layers of the encoder are used in the transformer.
    • self-attention, 理解词和词之间的关系;

transformer架构在2017年提出,原本是应用与翻译领域的;基于transformer架构产生了一系列的大模型,比如:

随着时间的演进,模型的规模越来越大。为了训练模型,投入的金钱、数据、能源也指数级增长。但简单来讲,模型的训练分为两类,从0到1训练模型、以及基于存量模型的调优;

相比从0到1,模型的调优在成本上会低很多,比如采用arXiv数据集在基础大模型的基础上训练一个针对科研人员的特定领域大模型。

transformer架构分为两部分:decoder、encoder;详细的介绍参考论文:https://arxiv.org/abs/1706.03762

  • encoder:编码器接收输入并构建其表示(其特征)。这意味着模型被优化以从输入中获得理解。
  • decoder:解码器使用编码器的表示(特征)以及其他输入来生成目标序列。这意味着模型是针对生成输出进行优化的。

LongChain

代码演示:hf_train_test.py

模型调优

优化模型参数

    • 基于领域数据集再训练;
      • 本地训练演示,hf_train_test.py
    • 高效调参PEFT;

RAG(retrieval-augmented generation)

RAG VS SFT

RAG

SFT

Data

动态数据。 RAG 不断查询外部源,确保信息保持最新,而无需频繁的模型重新训练。

(相对)静态数据,并且在动态数据场景中可能很快就会过时。 SFT 也不能保证记住这些知识。

External Knowledge

RAG 擅长利用外部资源。通过在生成响应之前从知识源检索相关信息来增强 LLM 能力。 它非常适合文档或其他结构化/非结构化数据库。

SFT 可以对 LLM 进行微调以对齐预训练学到的外部知识,但对于频繁更改的数据源来说可能不太实用。

Model Customization

RAG 主要关注信息检索,擅长整合外部知识,但可能无法完全定制模型的行为或写作风格。

SFT 允许根据特定的语气或术语调整LLM 的行为、写作风格或特定领域的知识。

Reducing Hallucinations

RAG 本质上不太容易产生幻觉,因为每个回答都建立在检索到的证据上。

SFT 可以通过将模型基于特定领域的训练数据来帮助减少幻觉。 但当面对不熟悉的输入时,它仍然可能产生幻觉。

Transparency

RAG 系统通过将响应生成分解为不同的阶段来提供透明度,提供对数据检索的匹配度以提高对输出的信任。

SFT 就像一个黑匣子,使得响应背后的推理更加不透明。

Technical Expertise

RAG 需要高效的检索策略和大型数据库相关技术。另外还需要保持外部数据源集成以及数据更新。

SFT 需要准备和整理高质量的训练数据集、定义微调目标以及相应的计算资源。

Promt Engeering

AI Agent

AI Agent是指人工智能代理(Artificial Intelligence Agent),是一种能够感知环境、进行决策执行动作智能实体

举个例子,AI Agent 就像是一个小爱同学,住在你的手机或电脑里,有智慧和观察能力。

当你对它说:“小爱同学,我有点不舒服。”

它会像魔法一样,通过观察你的状态、体温,还有最近 24 小时的行动轨迹,并结合互联网上的数据和信息,通过一系列眼花缭乱的分析,在 1s 钟后得出结论,你「阳」了。

然后主动给你生成请假条,你点点头请假单就发给你 leader 了。

还贴心的告诉你,家里布洛芬和矿泉水已经不够了,已经帮你选好商品,只要你一声令下,30分钟后会送到家门口。

它感知到,现在开车并不是一个好的想法,就顺手把你回家的车也叫好了,10分钟后就到楼下,赶紧撤吧。

这就是一系列的 Agent 协同工作的结果。

系统课程学习

  • 李宏毅 2021 Machine Learning课程
    • 课程大纲:ML 2021 Spring
    • 包含了完整的视频、ppt、homework等资料;

零散资料

LF AI & Data Landscape

LF AI & Data Landscape

相关论文

大模型训练对环境的影响

2023 year of LLMs

https://huggingface.co/blog/2023-in-llms

  • model merging:合并多个model;

What Makes a Dialog Agent Useful?

https://huggingface.co/blog/dialog-agents

<think>好的,我现在需要帮用户解答关于如何使用大模型进行文本生成与整理的最佳实践的问题。首先,我需要回忆之前提供的引用内容,看看有没有相关的信息可以利用。用户提到了引用[1]、[2]、[3],尤其是引用[3]中提到的提示工程,这可能生成数据的方法有关。 首先,用户的问题核心是“最佳实践”,所以需要结构化的回答,分步骤或者分点。根据引用[3],提示工程是关键,包含任务规范、生成条件上下文演示。这三点可以作为基础来展开。 然后,结合大模型的实际应用,可能需要考虑模型选择、数据预处理、迭代优化等方面。引用[2]提到大模型有强大的学习泛化能力,所以需要说明如何利用这些特性。引用[1]中的微调技术实战案例可能涉及模型微调的具体步骤。 接下来需要组织回答的结构。可能分为几个步骤:明确需求、选择模型、设计提示词、数据预处理、生成与验证、迭代优化、后处理、伦理考量等。每个步骤都需要结合引用中的内容,比如在提示词设计部分引用[3]提到的三个元素。 还要注意用户提到的文本整理,不仅仅是生成,可能包括摘要、去重、纠错等任务,需要具体说明这些应用场景下的方法。例如,在文本纠错中,可能需要设计特定的提示模板,让模型识别并修正错误。 另外,用户可能需要实际例子,比如代码片段或者示例提示词,但根据示例中的快速排序部分,可能不需要代码,而是更偏向于步骤方法的描述。不过,如果有合适的例子可以增强理解,可以考虑添加。 还要考虑用户可能的深层需求,比如如何评估生成结果的质量,或者如何处理大规模数据时的效率问题。引用[3]中的合成数据生成评估可能涉及评估方法,需要提及评估指标或人工审核。 伦理安全方面也是不可忽视的部分,引用[2]提到大模型的应用实践,所以需要提醒用户注意数据隐私内容合规性。 最后,生成相关问题,可能需要围绕用户的问题扩展,比如模型选择的标准、提示工程的技巧、评估方法等,确保问题有针对性,帮助用户进一步探索。 总结下来,回答的结构应该是分步骤的最佳实践,每个步骤结合引用内容,给出具体的方法注意事项,并附上相关问题引导深入学习。</think>使用大模型进行文本生成与整理的最佳实践可分为以下步骤,结合了提示工程、模型微调后处理技术: ### 一、明确任务目标 1. **文本生成类型**:区分创意写作、摘要生成、数据格式化(如表格转换)等任务 2. **整理需求**:确定需要完成的去重、纠错、结构化等具体操作,例如将会议纪要整理为$问题-解决方案$格式 ### 二、模型选择与配置 1. **基础模型选择**:根据任务复杂度选择模型规模,$参数量>70B$的模型适合复杂逻辑推理[^2] 2. **微调策略**:对专业领域文本(如法律文书)采用LoRA等参数高效微调方法[^1] ### 三、提示工程设计(核心环节) 遵循**任务规范+生成条件+上下文示例**的黄金公式[^3]: ``` [指令]请将以下对话整理为会议纪要,按"决策事项-责任人-时间节点"格式输出: [示例输入]张三说:"我建议下周完成需求评审",李四回应:"需要王五确认排期" [示例输出]决策事项:需求评审|责任人:王五|时间节点:2024-03-15 [当前输入]<待整理文本> ``` ### 四、数据预处理 1. 清洗噪声数据:过滤特殊字符乱码,保证输入文本符合$UTF-8$编码规范 2. 关键信息标注:使用XML标签标记重要内容,如`<重要数据>2023年度营收1.2亿元</重要数据>` ### 五、生成与验证 1. **温度参数控制**:设置$temperature=0.3$保证输出稳定性 2. **多候选采样**:生成3-5个候选结果进行人工评估 3. **自动校验**:通过规则引擎检查格式一致性,例如验证时间表达式是否符合$\d{4}-\d{2}-\d{2}$模式 ### 六、迭代优化 1. **badcase分析**:建立错误类型分类体系,如: - 格式错误:$$ \text{错误率} = \frac{\text{格式错误样本数}}{\text{总样本数}} \times 100\% $$ - 内容失真 2. **动态提示调整**:根据错误类型添加约束条件,例如增加`若时间信息不明确,标注为待确认` ### 七、后处理技术 1. **结构化转换**:使用正则表达式提取关键信息,例如: ```python re.findall(r'截止日期:(\d{4}-\d{2}-\d{2})', text) ``` 2. **可视化呈现**:将整理结果转换为Markdown表格或甘特图 ### 八、伦理与安全 1. 隐私过滤:自动识别并模糊处理$身份证号(\d{17}[\dXx])$等敏感信息 2. 内容审核:接入合规性检查API,拒绝生成包含$\text{暴力}|色情|谣言$等内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值