LLM总结(持续更新中)

news2024/12/29 2:20:13

引言

  • 当前LLM模型火出天际,但是做事还是需要脚踏实地。
  • 此文只是日常学习LLM,顺手整理所得。
  • 本篇博文更多侧重对话、问答类LLM上,其他方向(代码生成)这里暂不涉及,可以去看综述来了解。

之前LLM模型梳理

  • 图来源: A Survey of Large Language Models | Github Repo
    img

BLOOM (BigScience)

  • BLOOM是一个自回归的大模型,可根据prompt来生成连续的文本。包括46种语言和13个编程语言。
  • 参数量为1760亿个参数。和GPT一样,使用的是decoder-only架构。
  • 训练所用数据集基本是手搓出来的。
  • 但是要想推理起来这个模型,起码需要8个A800 80G的显卡才能推理起来。小编前不久有幸推理了一下,模型将近就有328G,真是够大的。
  • 这个模型要想落地,可就需要很长一段时间了。

后BLOOM模型梳理

BLOOM
Firefly
BELLE

LLaMA (Meta)

  • 缺乏指令微调

后LLaMA模型梳理

LLaMA
Alpaca
FreedomGPT
Chinese-alpaca-lora
japanese-alpaca-lora
Wombat
Vicuna
Koala
ChatLLaMA
Chinese-ChatLLaMA
ColossalChat
Baize
gpt4all
HuaTuo

Alpaca (斯坦福)

  • 由Meta的LLaMA 7B微调而来,52k数据,性能约等于GPT-3.5
  • Self-Instruct: Aligning Language Model with Self Generated Instructions论文启发,使用现有强语言模型自动生成指令数据
  • 衍生项目:
    • Alpaca-LoRA: 开启了LLaMA模型上LoRA微调
    • Chinese-LLaMA-Alpaca
    • Chinese-alpaca-lora
    • japanese-alpaca-lora
    • Wombat
      • 提出无需强化学习的对齐方法训练语言模型

Vicuna (UC伯克利、卡内基梅隆大学、斯坦福大学和加州大学圣地亚哥分校)

  • 与GPT-4性能相匹配的LLaMA微调版本, 130亿参数
  • 通过在ShareGPT收集用户共享对话对LLaMA进行微调而来,在超过90%的情况下,实现了与Bard和ChatGPT相匹配的能力

image

  • 训练流程:
ShareGPT收集70k对话数据
优化Aplaca训练脚本,处理多轮对话和长序列问题
PyTorch FSDP 8个A100 一天训练
质量评估,80个问题,用GPT-4对模型输出进行评价

三者之间汇总对比

image

Koala (UC伯克利 AI Research Institute(BAIR))

  • 使用网络获取的高质量数据进行训练,可以有效地回答各种用户的查询,比Alpaca更受欢迎,至少在一半的情况下与ChatGPT的效果不相上下
  • 得出有效结论:正确的数据可以显著改善规模更小的开源模型
  • 研究人员专注于收集一个小型的高质量数据集,包括ChatGPT蒸馏数据、开源数据等

ChatLLaMA (Nebuly)

  • 一个可以使用自己的数据和尽可能少的计算量,来创建个性化的类似ChatGPT的对话助手
  • 库的目的是通过抽象计算优化和收集大量数据所需的工作,让开发人员高枕无忧
  • ChatLLaMA旨在帮助开发人员处理各种用例,所有用例都与RLHF训练和优化推理有关。以下是一些用例参考:
    • 为垂直特定任务(法律、医疗、游戏、学术研究等)创建类似ChatGPT的个性化助手;
    • 想在本地硬件基础设施上使用有限的数据,训练一个高效的类似ChatGPT的助手;
    • 想创建自己的个性化版本类ChatGPT助手,同时避免成本失控;
    • 想了解哪种模型架构(LLaMA、OPT、GPTJ等)最符合我在硬件、计算预算和性能方面的要求;
    • 想让助理与我的个人/公司价值观、文化、品牌和宣言保持一致。

Chinese-ChatLLaMA(ydli-ai)

  • 中文对话模型ChatLLaMA、中文基础模型LLaMA-zh。
    -ChatLLaMA 支持简繁体中文、英文、日文等多语言。
  • LLaMA 在预训练阶段主要使用英文,为了将其语言能力迁移到中文上,首先进行中文增量预训练,
  • 使用的语料包括中英平行语料、中文维基、社区互动、新闻数据、科学文献等。再通过 Alpaca 指令微调得到 Chinese-ChatLLaMA。
  • 项目特点
    • 通过 Full-tuning (全参数训练)获得中文模型权重,提供 TencentPretrain 与 HuggingFace 版本
    • 模型细节公开可复现,提供数据准备、模型训练和模型评估完整流程代码
    • 提供目前最大的中文 LLaMA 模型
    • 多种量化方案,支持 CUDA 和边缘设备部署推理

FreedomGPT (Age of AI)

  • 建立在Alpaca之上,回答问题没有偏见或偏袒,并且会毫不犹豫第回答有争议或争论性的话题
  • 克服了审查限制,在没有任何保障的情况下迎合有争议性的话题。标志是自由女神像,象征自由。

ColossalChat (UC伯克利)

  • 基于LLaMA模型,只需不到100亿个参数就能达到中英文双语能力,效果与ChatGPT和GPT3.5相当。
  • 复刻了完整的RLHF过程,是目前最接近ChatGPT原始技术路线的开源项目
  • 使用了InstrutionWild中英双语训练数据集,其中包含大约100,000个中英文问答对。
    • 该数据集是从社交媒体平台上的真实问题场景中收集和清理的,作为种子数据集,使用self-instruct进行扩展,标注成本约为900美元。
    • 与其他self-instruct方法生成的数据集相比,该数据集包含更真实和多样化的种子数据,涵盖更广泛的主题。该数据集适用于微调和RLHF训练。
    • 在提供优质数据的情况下,ColossalChat可以实现更好的对话交互,同时也支持中文。
  • 完整的RLHF管线,共有三个阶段:
    1. RLHF-Stage1: 使用上述双语数据集进行监督指令微调模型
    2. RLHF-Stage2: 通过对同一提示的不同输出手动排序来训练奖励模型,分配相应的分数,然后监督奖励模型的训练
    3. RLHF-Stage3: 使用强化学习算法,这是训练过程中最复杂的部分。

Baize (加州大学圣迭戈分校、中山大学和微软亚研)

  • 包括四种英文模型(白泽-7B、13B、30B)和一个垂直领域的白泽医疗模型,计划未来发布中文的白泽模型。

  • 值得注意的是,该方法的数据处理、训练模型、Demo等全部代码均已开源,真是良心,由衷点赞。

  • 作者提出一种自动收集ChatGPT对话的流水线,通过从特定数据集中采样[种子]的方式,让ChatGPT自我对话,批量生成高质量多轮对话数据集。如果使用特定领域数据集,比如医学问答数据集,就可以生成高质量垂直领域语料。

    image

gpt4all(Nomic AI)

  • 基于GPT-3.5-Turbo的800k条数据进行训练,包括文字问题、故事描述、多轮对话和代码。
  • 该方案提供了完整的技术报告,包括收集数据、整理数据、训练代码和模型权重。

Huatuo-Llama-Med-Chinese(哈工大)


ChatYuan-large-v2 (元语智能)

  • 这个模型的商业气息较浓一些。不过,这也是无奈之举。
  • ChatYuan-large-v2是一个支持中英双语的功能型对话语言大模型。ChatYuan-large-v2使用了和 v1版本相同的技术方案,在微调数据、人类反馈强化学习、思维链等方面进行了优化。
  • ChatYuan-large-v2是ChatYuan系列中以轻量化实现高质量效果的模型之一,用户可以在消费级显卡、 PC甚至手机上进行推理(INT4 最低只需 400M )。

Firefly(yangjianxin1)

  • Firefly(流萤) 是一个开源的中文对话式大语言模型,基于BLOOM模型,使用指令微调(Instruction Tuning)在中文数据集上进行调优。同时使用了词表裁剪、ZeRO、张量并行等技术,有效降低显存消耗和提高训练效率。 在训练中,使用了更小的模型参数量,以及更少的计算资源。构造了许多与中华文化相关的数据,以提升模型这方面的表现,如对联、作诗、文言文翻译、散文、金庸小说等。
  • 因为该项目首先采用LLMPrunner对原始BLOOM模型进行此表裁剪,所以效果有限,优势在于小,缺点也在这里。

BELLE (链家)

  • 本项目重点关注在开源预训练大语言模型的基础上,如何得到一个尽可能效果好的具有指令表现能力的语言模型,降低大家研究此方面工作的门槛,重点在于中文大语言模型。

  • 针对中文做了优化,模型调优仅使用了由ChatGPT生产的数据(不包含任何其他数据)

  • 调优BLOOMZ-7B1-mt模型,开放了四个不同大小规模的指令学习数据集训练模型

    Datasize200,000600,0001,000,0002,000,000
    Finetuned ModelBELLE-7B-0.2MBELLE-7B-0.6MBELLE-7B-1MBELLE-7B-2M
  • 基于Meta LLaMA实现调优的模型:BELLE-LLaMA-7B-0.6M-enc
    , BELLE-LLaMA-7B-2M-enc
    , BELLE-LLaMA-7B-2M-gptq-enc
    , BELLE-LLaMA-13B-2M-enc。请参考Meta LLaMA的License
  • 值得说明的是,该项目开源了一批由ChatGPT生成的中文数据集,具体如下:
    • 1.5M中文数据集:包含不同指令类型、不同领域的子集。
    • 10M中文数据集,包括25w条中文数学题数据、80w条用户与助手对话数据、40w条给定角色的多轮对话数据、200w条多样化指令任务数据。
  • ⚠️ 数据集开源协议均为GPL3.0,使用请注意。

ChatGLM-6B (清华)

GLM-130B(清华)

后ChatGLM梳理

ChatGLM
langchain-ChatGLM
ChatGLM-Med

langchain-ChatGLM (imClumsyPanda)

  • 该项目是基于本地知识的ChatGLM应用实现。基于本地文档类知识来增强ChatGLM的回答。这应该是最能落地的项目了。

  • 整体流程如下图:

    image

Med-ChatGLM(哈工大)

Dolly 2.0 (databricks)

IDPChat (白海)

  • 中文多模态模型,基于预训练大模型LLaMA和开源文生图预训练模型Stable Diffusion为基础,快速构建而来。
  • 开发者可以根据场景需求,便捷地对其进行微调优化。

参考资料

  • 开发者笑疯了! LLaMa惊天泄露引爆ChatGPT平替狂潮,开源LLM领域变天
  • 训练ChatGPT的必备资源:语料、模型和代码库完全指南
  • 用ChatGPT训练羊驼:「白泽」开源,轻松构建专属模型,可在线试玩
  • 笔记本就能运行的ChatGPT平替来了,附完整版技术报告
  • 世界首款真开源类ChatGPT大模型Dolly 2.0,可随意修改商用
  • 中文多模态模型问世!IDPChat生成图像文字,只需5步+单GPU

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微服务---RabbitMQ与SpringAMQP基本使用

RabbitMQ 1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应&am…

OpenCV实例(四)手写数字识别

OpenCV实例(四)手写数字识别 1.基本原理2.实现步骤2.1数据准备2.2计算匹配值2.3获取最佳匹配值及对应模板2.4获取最佳匹配模板对应的数字2.5输出识别结果 3.代码实例 作者:Xiou 1.基本原理 使用模板匹配的方式实现手写数字识别,…

2023/4/20总结

项目 网上关于listview的资料太少了,在网上的那些资料里面,了解到以下这些。 如果希望listview后期能更改或者更新,那么需要使用到 ObservableList 它可以观察到,listview的改动。 需要特别注意一点的是:写俩者的…

如何发布自己的 npm 包?

一. 准备工作 1. 注册 npm 账号 还没有 npm 账号?去官网注册: https://www.npmjs.com/ 需要记住用户名、密码、邮箱 2. 查看本地 npm 镜像,如果不是默认的,需要改回来 npm config get registry重置镜像路径 npm config set r…

vulstack ATTCK(三)靶场

0x00环境搭建 两种形式 1.添加vmare2网卡,修改vmare2网卡的地址为192.168.93.0网段,注意不要在连接到主机适配器上打勾,这样会使本机也可以访问此电脑,5台机器都换成vmare2即可,第一台出网的centos在添加另一张nat网卡…

Docker容器---数据卷 数据容器

Docker容器---数据卷 数据容器 一、数据卷概述1、数据卷2、数据卷原理3、数据卷作用 二、数据卷容器1、数据卷容器作用2、创建数据卷容器 三、容器互联1、创建并运行源容器取名web12、创建并运行接收容器取名web2 一、数据卷概述 管理 Docker 容器中数据主要有两种方式&#x…

社科院与杜兰大学中外合作办学金融管理硕士项目——比起过往,前路更值得期待

当结束一天工作陷入沉思时,你有没有特别遗憾的事情呢,人生有太多的不确定性,比起过往,未知的人生更值得我们期待。与其懊恼没完成的遗憾,不如珍惜当下,努力创造未来。人生没有太晚的开始,在职读…

frp内网穿透——以连接到校园内网的服务器为例

有时候想摸鱼不去实验室,在宿舍就直接连接到实验室的GPU服务器。奈何服务器在校园网内部,外网无法直接直接访问。此时需要手动搭一个跳板机,来连接到内网的GPU服务器,这一过程怎么做到呢?我们可以使用frp内网穿透工具&…

Seata:连接数据与应用

作者:季敏(清铭)Seata 开源社区创始人,分布式事务团队负责人。 本文主要介绍分布式事务从内部到商业化和开源的演进历程,Seata 社区当前进展和未来规划。 Seata 是一款开源的分布式事务解决方案,旨在为现…

Java基础(十八):java比较器、系统相关类、数学相关类

Java基础系列文章 Java基础(一):语言概述 Java基础(二):原码、反码、补码及进制之间的运算 Java基础(三):数据类型与进制 Java基础(四):逻辑运算符和位运算符 Java基础(五):流程控制语句 Java基础(六)&#xff1…

JavaScript黑科技:隐秘执行

JavaScript黑科技&#xff1a;隐秘执行 如果能使网页中的JavaScript代码隐密的加载、隐密的执行&#xff0c;那对于保护JavaScript代码来说是很有利的。 本文将探索、演示一种隐秘执行JavaScript代码的技术。 源码如下&#xff1a; <html> <script>window.onlo…

Prometheus+node_exporter+Grafana+夜莺 监控部署

一、安装Prometheus 1.1 部署并配置Prometheus #主机基础配置 [rootnode4~]# systemctl stop firewalld && systemctl disable firewalld [rootnode4~]# sed -i s/enforcing/disabled/g /etc/selinux/config && setenforce 0#上传prometheus安装包并解压 [r…

8、ThingsBoard使用docker compose集群部署的问题以及如何解决问题

1、问题回顾 接着上一节继续讲解,上一节我们把整个服务全部都运行起来了,但是访问页面报错,最后查看的问题是前端的容易里面报错: 然后执行脚本删除所有的容器 2、问题分析 当遇到这个问题的时候,我当时真的不知道如何去解决,然后我又尝试使用官方的镜像来部署,发现官…

P75分层解耦-IOCDI详解

一、分层解耦-三层架构 Dao层&#xff1a;数据访问 1、接口 package com.itheima.service;import com.itheima.pojo.Emp;import java.util.List;/*** Description:* date: 2023/4/19 21:47** since JDK 11*/ public interface EmpService { // 获取员工列表数据public List&l…

RabbitMQ·入门·壹

文章目录 1 MQ思想1.1 相关概念&#xff1a;同步、异步通讯1.1.1 同步通讯1.1.2 异步通讯 1.2 MQ思想概述1.2.1 1 MQ思想 1.1 相关概念&#xff1a;同步、异步通讯 通讯方式举例优势劣势同步通讯就像打电话&#xff0c;需要实时响应。打电话可以立即得到响应。不能跟多人同时…

垃圾回收相关算法

标记阶段的算法 垃圾标记阶段&#xff1a;对象存货判断 在堆里存放着几乎所有的Java对象实例&#xff0c;在GC执行垃圾回收之前&#xff0c;首先需要区分出内存中哪些是存活对象&#xff0c;哪些是己经死亡的对象。只有被标记为己经死亡的对象&#xff0c;GC才会在执行垃圾回…

AutoGPT 环境搭建教程

文章目录 前言一、注册OpenAI和Pinecone的账号&#xff0c;并获取key二、下载Git和Python3&#xff08;自己网上搜&#xff0c;无脑安装&#xff09;![在这里插入图片描述](https://img-blog.csdnimg.cn/95bafd5ebe9d468cbceeacbfc0cb939b.png)三、进入GitHub&#xff0c;安装A…

Flowable从入门到源码分析

什么是工作流&#xff1f; 工作流&#xff0c;是把业务之间的各个步骤以及规则进行抽象和概括性的描述。使用特定的语言为业务流程建模&#xff0c;让其运行在计算机上&#xff0c;并让计算机进行计算和推动。 工作流解决的痛点在于&#xff0c;解除业务宏观流程和微观逻辑的…

【Linux】基础IO,详解系统文件IO

目录 C语言文件操作简单回顾 C语言相关文件接口汇总 默认打开的三个流 系统文件I/O open open的第一个参数 open的第二个参数 open的第三个参数 open的返回值 close write read 文件描述符 什么是文件描述符 文件描述符分配规则 重定向 重定向的本质 输出重定…

ETCD(一)简介

1. ETCD是什么 etcd 是一个分布式键值对存储&#xff0c;设计用来可靠而快速的保存关键数据并提供访问。和数据库一样都是用来存数据的&#xff0c;但是etcd有自己的特点&#xff0c;因此有自己的使用场景。 2. etcd 特点 完全复制&#xff0c;集群中的每个节点均拥有全量数…