当前位置: 首页 > news >正文

大语言模型是如何训练出来的?

近期听了不少与AI相关的播客,有理想转型AI的分享,有Character.ai出来同事的分享等,结合对Transformer架构的理解尝试大致还原大语言模型的训练过程。不过,当我这样的“中国大妈”也能够大致琢磨明白大语言模型是如何训练出来的时候,大语言模型的神话大概见顶了吧。^-^当然,与底座大模型相比,基于大语言模型的应用前景更为广阔。

1. 语料集,李想提到理想做LLM底座模型用的都是公开语料集,合理推测比如Kaggle上、各家提供框架的公司(TensorFlow、PyTorch、PaddlePaddle等)都开放了不少语料集,比如raw.githubusercontent.com/karpathy/char-rnn/master/data/tinyshakespeare/input.txt就有莎士比亚所有文章的内容。仔细研究应该能够整理出所有可用的公开语料集。

2. 对数据做进一步处理并基于Transfomer模型(编码器、解码器、注意力机制)进行大模型预训练。

3. 因为是基于概率的模型,预训练出来的大语言模型一般不能够满足用户像文心一言、ChatGPT对话的体验,比如用户如果输入“今天星期几”,按照概率大语言模型应该输出的是“?”,但显然这并不符合用户的期望。要基于高质量的预料来对预训练出来的模型进行微调或者说后训练。

4. 后训练的方法应该有不少技巧,一种朴素的思路是将处理好的高质量语料对预训练大模型神经网络的较高层的节点参数进行重新训练以优化模型。高质量语料需要搜集,也有专门的公司负责清洗和销售,OpenAI之前传出的是在肯尼亚有数千人帮助标注预料应该就是在准备高质量语料。

5. 如果要达到文心一言和ChatGPT的水平还需要进一步优化,一种优化是根据用户的输入调用多个模型同时协同合作,最基本的比如用户上传一张图片先调用OCR模型识别文字后再调用大语言模型进行处理。另一种优化是通过编程来进行提示词优化、加入更多的Context信息(比如用户问今天有什么大事发生,聊天机器人先调用网络搜索来汇总信息后再通过大语言模型输出)。

6. 大语言模型进一步优化的空间一个是原始的训练语料上有优化空间。现在的说法是所谓互联网的数据已经用完了,这个说法不准确,互联网每天会产生EB级别的数据,大语言模型训练级别估计在PB级别,不可能用完互联网数据。大语言模型使用的语料合理猜测包括所有的人类书本数据、所有GitHub等代码库的代码数据、Facebook等社交媒体上的带用户反馈(喜欢、踩)标注的数据、新闻网站数据、博客数据、论文数据等。企业内部的数据肯定拿不到,加了限制爬取的数据大概率也拿不到,网站放到历史库的数据大多也拿不到,社交媒体、新闻网站、博客等等数据拿的很可能也不全,所以如何在原始语料上进行优化肯定是有空间。

7. 大语言模型另外优化的空间还有强化学习、多模态等。

http://www.lryc.cn/news/519066.html

相关文章:

  • Vue2与Vue3在项目开发中的选择:深入探讨
  • Web枚举:深入了解目标应用系统
  • RabbitMQ介绍与使用
  • 从0到机器视觉工程师(六):配置OpenCV和Qt环境
  • 计算机毕业设计Python机器学习农作物健康识别系统 人工智能 图像识别 机器学习 大数据毕业设计 算法
  • (Arxiv-2023)LORA-FA:针对大型语言模型微调的内存高效低秩自适应
  • huggingface/bert/transformer的模型默认下载路径以及自定义路径
  • 从 0 开始上手 Solana 智能合约
  • (六)CAN总线通讯
  • 新一代智能工控系统网络安全合规解决方案
  • Vivado中Tri_mode_ethernet_mac的时序约束、分析、调整——(一)时序约束的基本概念
  • 车载网络:现代汽车的数字心跳
  • python基础和redis
  • w~自动驾驶~合集16
  • 最长的指定瑕疵度的元音子串
  • 每日算法Day15【组合、组合总和III、电话号码的字母组合】
  • C语言教程——指针进阶(2)
  • 调和级数不为整数的证明
  • 基于微信小程序的在线学习系统springboot+论文源码调试讲解
  • 基于 Boost.Asio 和 Boost.Beast 的异步 HTTP 服务器(学习记录)
  • 有机物谱图信息的速查技巧有哪些?
  • Eureka缓存机制
  • 【LC】78. 子集
  • 协同过滤算法私人诊所系统|Java|SpringBoot|VUE|
  • Docker部署Naocs-- 超细教程
  • [java基础-集合篇]优先队列PriorityQueue结构与源码解析
  • 12. C语言 数组与指针(深入理解)
  • Postman接口测试基本操作
  • MySQL--2.1MySQL的六种日志文件
  • spring task使用