大模型相关整理

机器学习

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

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

而特斯拉最近的端到端驾驶方案,则完全颠覆了之前的基于规则和人类经验的方案,直接用一个神经网络来描述自动驾驶这个函数,函数的输入是汽车给个角度摄像头的视频流,函数的输出则是方向盘的转动角度、刹车的力度等对汽车的控制行为。特斯拉基于真实的驾驶视频流,来训练出这个神经网络,从而将人类的驾驶经验传给计算机。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万美元)等。
    • 非原始数据,没有隐私安全问题;
  • 非结构化数据的处理
    • 国外的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: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 协同工作的结果。

  • 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

四川宏博蓬达法律咨询有限公司:专业可靠,您身边的法律守护者

在现代社会,法律咨询服务的需求日益增长,选择一家专业可靠的法律咨询公司成为了许多企业和个人的当务之急。四川宏博蓬达法律咨询有限公司便是这样一个值得信赖的法律服务提供者,以其专业、高效、贴心的服务,赢得了广大客户的信赖…

c++ primer plus笔记 第十八章 探讨c++新标准

复习前面的内容: 1.auto,可以自动识别auto本身在这种语境下是什么类型 2.decltype,让一个变量的类型和另外一个变量的类型相同 decltype(x) y;//让y的类型和x的类型相同 如何理解? decltype是一个关键词,其作用是检查括号内的…

【MySQL系列 05】Schema 与数据类型优化

良好的数据库 schema 设计和合理的数据类型选择是 SQL 获得高性能的基石。 一、选择优化的数据类型 MySQL 支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要。不管存储哪种类型的数据,下面几个简单的原则都有助于做出更好的选择。 1. …

AOP-注解实现-记录日志到数据库

概念解释 AOP:Aspect Oriented Programming Aspect:方面Oriented:面向…的Programming编程 之前我对模块化编程的认识,主要是局限在布局结构、目录结构上。比如Vue的template模板。 对方法的模块化编程,我之前的认识…

基于springboot+layui仓库管理系统设计和实现

基于 java springbootlayui仓库管理系统设计和实现 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取…

硬件工程师面试题梳理-百度硬件面试题

硬件工程师基本职责 在公司里面,硬件工程师的主要职责包括设计、开发和测试硬件系统,以满足产品需求和性能要求。他们负责确保硬件系统的可靠性、稳定性和可维护性,并与软件工程师和其他团队成员合作,以确保硬件和软件的协同工作…

arcgis辅助下的GIS滑坡泥石流易发性评估模型构建

我国是地质灾害多发国家,地质灾害的发生无论是对于地质环境还是人类生命财产的安全都会带来较大的威胁,因此需要开展地质灾害风险普查。利用遥感(RS)技术进行地质灾害调查工作具有宏观、快速、准确的特点,能反映出地质…

SpringCloud(21)之SpringCloud Alibaba Nacos实战应用

一、Nacos安装 1.1 Nacos概述 Nacos是Alibaba微服务生态组件中的重要组件之一,主要用它实现应用的动态服务发现、配置管理、 服务管理。Nacos discovery alibaba/spring-cloud-alibaba Wiki GitHub Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简…

MotionCtrl: A Unified and Flexible Motion Controller for Video Generation

MotionCtrl: A Unified and Flexible Motion Controller for Video Generation 这篇论文是基于VideoCrafter的,而VideoCrafter是基于LVDM的 关于LVDM可以看https://blog.csdn.net/Are_you_ready/article/details/136615853 2023年12月6日发表在arxiv 这篇论文讨论…

seo js转码工具

js转码工具作用 用于把js加密 如果不想让别人看到自己的js 代码就可以使用这个方法 js工具网址 https://tool.chinaz.com/js.aspx 效果

J.K.罗琳创作的《神奇动物》系列电影赏析

故事情节 《神奇动物在哪里》: 这部电影讲述了纽特斯卡曼德来到纽约的故事,他是一位收集和研究魔法动物的巫师。在纽约,他的一只神奇生物逃脱,并引发了一系列麻烦。与此同时,纽约巫师社会面临着黑暗力量的威胁&#x…

超大规模-近场

这里先了解基站到用户的,无RIS的近场模型 超大规模智能反射面辅助的近场移动通信研究 (论文题目) (期刊)无线电通信技术 系统:BS-RIS-UE,两个阶段都是近场 模型:球面波传播模型&…

在dpvs上实现ICMP的源进源出

目录 1. 缘起2. 源码分析3. 让ICMP也走源进源出1. 缘起 在网络通信中,当一个请求报文从源主机到达目标主机,并经过中间路由器或交换机进行转发时,请求报文进入主机A的路径和响应报文离开主机A的路径可能不同。这种情况下,就会出现所谓的三角路径问题。如下图: 具体来说,…

USB协议学习(三)大容量存储设备SCSI协议分析

笔者来简单介绍一下SCSI得协议命令 1、SCSI协议认识 SCSI:Small Computer System Interface,用于计算机外部设备得接口标准,定义了与外部设备得一套协议。SCSI标准协议族支持很多钟SCSI设备,像盘,打印机,扫…

论企业安全漏洞扫描的重要性

前言 随着信息技术的迅猛发展和互联网的广泛普及,网络安全问题日益凸显。在这个数字化的世界里,无论是企业还是个人,都面临着前所未有的安全威胁。安全漏洞,作为这些威胁的源头,常常被忽视或无法及时发现。 而安全漏洞…

提示并输入一个字符串,统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数要求使用C++风格字符串完成

#include <iostream> #include <array> using namespace std;int main() {cout<<"请输入一个字符串"<<endl;//array<string,100> str;string str;getline(cin,str);int daxie0,xiaoxie0,num0,space0,other0;int lenstr.size();;for(in…

植物病害识别:YOLO水稻病害识别数据集(11000多张,yolo标注)

YOLO水稻病害识别数据集&#xff0c;包含叶斑病&#xff0c;褐斑病&#xff0c;细菌性枯萎病&#xff0c;东格鲁病毒病4个常见病害类别&#xff0c;共11000多张图像&#xff0c;yolo标注完整&#xff0c;可直接训练。 适用于CV项目&#xff0c;毕设&#xff0c;科研&#xff0c…

Flink 性能优化总结(反压优化篇)

反压的理解 Flink 中每个节点间的数据都以阻塞队列的方式传输&#xff0c;下游来不及消费导致队列被占满后&#xff0c;上游的生产也会被阻塞&#xff0c;最终导致数据源的摄入被阻塞。简单来说就是系统接收数据的速率远高于它处理数据的速率。 反压如果不能得到正确的处理&am…

软件测试面试需要准备什么?面试有什么技巧?看完面试轻松解决

前言 无论是在校招还是社会企业招聘中&#xff0c;应聘者总是要经过层层的考核才能被聘用。然而&#xff0c;在招聘时&#xff0c;设置的编程以及非技术面试问题&#xff0c;真的有必要吗&#xff1f;如此就能考核出一位开发者的真实水平&#xff1f; 说到底就是考验你的技术以…

分享10个ai人工智能ppt生成软件,一键轻松搞定PPT制作!

ai 人工智能发展至今&#xff0c;已经诞生了各式各样的 AI 软件&#xff0c;最常见的如 AI 写作软件、AI 绘画软件、AI 人工智能 ppt 生成器、AI 人工智能抠图软件等等。对每天要面对各类文档、演示文稿&#xff08;PPT&#xff09;的职场人来说&#xff0c;最被需要的 AI 软件…