大模型相关整理

机器学习

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

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

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

大模型简介

大模型的定义

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

大模型的发展历程

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

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

大模型分类

代码

from transformers import pipelinegenerator = 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万美元)等。
    • 非原始数据,没有隐私安全问题;
  • 非结构化数据的处理
    • 国外的http://unstructured.io,国内的Dataelem数据项素
    • Unstructured | The Unstructured Data ETL for Your LLM etl for llms

模型开发训练

  • 基础环境(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:
    • 自研了OpenLLM
    • 从模型部署切入,让AI开发开箱即用
    • BentoCloud
    • GitHub - bentoml/BentoML: Build Production-Grade AI Applications
    • 和贾扬清做的lepton非常类似;
  • lepton ai
    • 贾扬清;
    • Build AI The Simple Way | Lepton AI
    • https://www.youtube.com/watch?v=rgjkmmSg6I8
    • 把模型以及相关的依赖打包成一个photon,然后在本地和远端可以运行该photon;比如以下的语句基于gpt2创建了一个photon,背后还是调用huggingface去拉取gpt2模型;如:/api/models/gpt2
lep photon create --name mygpt2 --model hf:gpt2lep photon run --name mygpt2 --locallep 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 协同工作的结果。

  • AI Agent • Supercharge Your Workflows with AI
  • AutoGPT Official
  • Lilian Weng个人博客: AI Agents即将大爆发 Lilian Weng个人博客: AI Agents即将大爆发 - 知乎

系统课程学习

  • 李宏毅 2021 Machine Learning课程
    • 课程大纲:ML 2021 Spring
    • 包含了完整的视频、ppt、homework等资料;
  • 李宏毅完整的课程列表:Hung-yi Lee
  • hugging face自学课程:https://huggingface.co/learn/nlp-course/chapter0/1?fw=pt

零散资料

  • transformers:架构、培训和使用,https://scholar.harvard.edu/sites/scholar.harvard.edu/files/binxuw/files/mlfs_tutorial_nlp_transformer_ssl_updated.pdf
  • From Transformer to LLM: Architecture, Training and Usage | Binxu Wang
  • Binxu Wang
  • 大规模语言模型:从理论到实践 大规模语言模型:从理论到实践
  • Andrej Karpathy(openai、tesla)制作的课程:Neural Networks: Zero To Hero
    • youtube:https://www.youtube.com/playlist?list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ
    • Top Andrej Karpathy Online Courses [2024] | Class Central
  • stanford cs324 course:Home | CS324
  • github:https://github.com/mlabonne/llm-course

LF AI & Data Landscape

LF AI & Data Landscape

相关论文

  • attension is all you need https://arxiv.org/abs/1706.03762
  • https://arxiv.org/abs/2205.01068
  • model merging, https://huggingface.co/collections/osanseviero/model-merging-65097893623330a3a51ead66

大模型训练对环境的影响

  • https://www.youtube.com/watch?time_continue=14&v=ftWlj4FBHTg&embeds_referring_euri=https%3A%2F%2Fhuggingface.co%2F&feature=emb_logo

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/527105.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6-DOF GraspNet: Variational Grasp Generation for Object Manipulation

总结: 使用变分自动编码器(VAE)对抓取进行采样,并使用基于点网的抓取评估器模型对采样的抓取进行评估和细化 摘要: 我们将抓取生成问题表述为 使用变分自编码器对一组抓取进行采样,并使用抓取评 估器模型对采样的抓取进行评估和…

通信-CAN-01 总线拓扑

本文主要介绍CAN总线拓扑,并结合实际用到CAN设备做些说明。 1 总线拓扑 拓扑结构中分为CPU,CAN 控制器,收发器,双绞线。CAN控制器根据两根线上的电位差来判断总线电平。发送方通过使总线发生变化,将消息发送给接收方…

大数据赋能,能源企业的智慧转型之路

在数字洪流中,大数据已经成为推动产业升级的新引擎。特别是在能源行业,大数据的应用正引领着一场深刻的智慧转型。今天,我们就来探讨大数据如何在能源企业中发挥其独特的魅力,助力企业提效降本,实现绿色发展。 动态监控…

【干货技术分享】1688商品如何批量铺货到拼多多?一键筛选优质低价货源上架!|拼多多上货API接口

拼多多开店的低门槛吸引了很多小卖家入驻,然而新手开店首先需要解决的就是货源问题。新店前期可选择一件代发,无需囤货,成本更低。 然而很多卖家会发现,1688上面很多商品的拿货价都比同行售价高,想要找到产品品质好、…

基于电位器式传感器位移测量仪的仿真设计

摘要 本文介绍了一款基于51单片机的位移测量仪设计,旨在采集和处理测量电路的信号,显示测量位移,实现0-50mm范围内0.1mm的高精度测量。采用米朗科技KPM12型直线位移传感器,结合单片机的串口通信和A/D转换技术,通过标准…

【R语言爬虫实战】抓取省市级城市常务会议内容

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一|统计学|干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项,参与研究经费10w、40w级横向 文…

onlyoffice监听https

修改onlyoffice 在开始将您的ONLYOFFICE Docs切换到HTTPS协议之前,您需要创建一个安全证书和证书私钥。将它们放到安装ONLYOFFICE Docs的计算机上的一个文件夹中。 获得证书后,请执行以下步骤: 所有命令都应以管理员权限执行。要以管理员身份…

贝叶斯优化的门控循环神经网络BO-GRU(时序预测)的Matlab实现

贝叶斯优化的门控循环神经网络(BO-GRU)是一种结合了贝叶斯优化(Bayesian Optimization, BO)和门控循环单元(Gated Recurrent Unit, GRU)的模型,旨在进行时序预测。这种模型特别适用于时间序列数…

【Scrapy】京东商品数据可视化

【Scrapy】京东商品数据可视化 文章目录 【Scrapy】京东商品数据可视化  👉引言💎一、爬取数据:1.1 scrapy爬虫库简介:1.2 技术实现:1.2.1搭建框架结构1.2.2 分析网页结构 二、数据保存:三、数据读取以及…

基于PCtoLCD实现OLED汉字取模方法

0 工具准备 PCtoLCD2002 NodeMCU(ESP8266)(验证OLED字模效果) 0.96寸OLED显示屏 1 基于PCtoLCD实现OLED汉字取模方法 1.1 基础知识介绍 0.96存OLED显示屏包含128x64个像素点,x轴方向为128个像素点,y轴方向…

重学SpringBoot3-内容协商机制

重学SpringBoot3-内容协商机制 ContentNegotiationConfigurer接口配置内容协商URL参数Accept头使用Url扩展名 自定义内容协商格式步骤1: 注册自定义媒体类型步骤2: 实现HttpMessageConverter接口步骤3: 使用自定义HttpMessageConverter 注意点 在 Spring Boot 3 中,…

【共享内存】System V共享内存{通信原理/相关接口/代码测试}

文章目录 1.初识共享内存1.0浅谈System V1.1什么是共享内存?1.2Linux-System V共享内存1.3图解共享内存1.4对共享内存的理解 2.创建共享内存2.1共享内存如何创建?2.2代码运行与测试2.3shm与pipe的区别2.4shm缺乏访问控制 3.代码理解shm3.1Log.hpp3.2comm…