Baichuan-13B 介绍及微调

文章目录

  • Baichuan-13B介绍
    • Baichuan-13B特点
    • Baichuan-13B效果
    • Baichuan-13B模型参数
  • 推理和部署
    • 模型下载
    • 模型推理
  • 微调和部署
    • 下载仓库
    • 配置环境
    • 微调数据
    • 微调过程

Baichuan-13B介绍

2023年7月11日,百川智能发布Baichuan-13B!
github地址:https://github.com/baichuan-inc/Baichuan-13B

Baichuan-13B特点

Baichuan-13B 是由百川智能继 Baichuan-7B 之后开发的包含 130 亿参数的开源可商用的大规模语言模型,在权威的中文和英文 benchmark 上均取得同尺寸最好的效果。本次发布包含有预训练 (Baichuan-13B-Base)对齐 (Baichuan-13B-Chat) 两个版本。Baichuan-13B 有如下几个特点:

  • 更大尺寸、更多数据:Baichuan-13B 在 Baichuan-7B 的基础上进一步扩大参数量到 130 亿,并且在高质量的语料上训练了 1.4 万亿 tokens,超过 LLaMA-13B 40%,是当前开源 13B 尺寸下训练数据量最多的模型。支持中英双语,使用 ALiBi 位置编码上下文窗口长度为 4096
  • 同时开源预训练和对齐模型:预训练模型是适用开发者的『 基座 』,而广大普通用户对有对话功能的对齐模型具有更强的需求。因此本次开源我们同时发布了对齐模型(Baichuan-13B-Chat),具有很强的对话能力,开箱即用,几行代码即可简单的部署。
  • 更高效的推理:为了支持更广大用户的使用,我们本次同时开源了 int8 和 int4 的量化版本,相对非量化版本在几乎没有效果损失的情况下大大降低了部署的机器资源门槛,可以部署在如 Nvidia 3090 这样的消费级显卡上。
  • 开源免费可商用:Baichuan-13B 不仅对学术研究完全开放,开发者也仅需邮件申请并获得官方商用许可后,即可以免费商用。

Baichuan-13B效果

Baichuan-13B在 C-Eval 上排名Rank10!
在这里插入图片描述
CMMLU 榜单上Baichuan-13B模型在 five-shot 和 zero-shot 下的表现如下:
Five-shot

模型STEM人文学科社会科学其他中国特定主题平均分
Baichuan-13B42.3861.6160.4459.2656.6255.82
ChatGLM2-6B42.5550.9850.9950.8048.3748.80
Baichuan-7B35.2548.0747.8846.6144.1444.43
ChatGLM-6B32.3539.2239.6538.6237.7037.48
BatGPT-15B34.9635.4536.3142.1437.8937.16
Chinese-LLaMA-13B27.1233.1834.8735.1032.9732.63
MOSS-SFT-16B27.2330.4128.8432.5628.6829.57
Chinese-GLM-10B25.4927.0527.4229.2128.0527.26

Zero-shot

模型STEM人文学科社会科学其他中国特定主题平均分
Baichuan-13B42.0460.4959.5556.6055.7254.63
ChatGLM2-6B41.2852.8553.3752.2450.5849.95
Baichuan-7B32.7944.4346.7844.7943.1142.33
ChatGLM-6B32.2242.9144.8142.6041.9340.79
BatGPT-15B33.7236.5338.0746.9438.3238.51
Chinese-LLaMA-13B26.7626.5727.4228.3326.7327.34
MOSS-SFT-16B25.6826.3527.2127.9226.7026.88
Chinese-GLM-10B25.5725.0126.3325.9425.8125.80

可见,Baichuan-13B模型在中文上的表现还是非常好的。

Baichuan-13B模型参数

模型名称隐藏层维度层数注意力头数词表大小总参数量训练数据(tokens)位置编码最大长度
Baichuan-7B4,096323264,0007,000,559,6161.2 万亿RoPE4,096
Baichuan-13B5,120404064,00013,264,901,1201.4 万亿ALiBi4,096

推理和部署

模型下载

推理所需的模型权重、源码、配置已发布在 Hugging Face:Baichuan-13B-Base 和 Baichuan-13B-Chat。

可以使用下面命令将模型下载到本地,方便使用时直接加载(/data/sim_chatgpt/)。

git clone https://huggingface.co/baichuan-inc/Baichuan-13B-Base
git clone https://huggingface.co/baichuan-inc/Baichuan-13B-Chat

模型推理

这里直接用 LLaMA-Efficient-Tuning 仓库中的环境

conda activate baichuan-7b
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation.utils import GenerationConfig
tokenizer = AutoTokenizer.from_pretrained("/data/sim_chatgpt/Baichuan-13B-Chat", use_fast=False, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("/data/sim_chatgpt/Baichuan-13B-Chat", torch_dtype=torch.float16, trust_remote_code=True)
model = model.quantize(4).cuda()
model.generation_config = GenerationConfig.from_pretrained("/data/sim_chatgpt/Baichuan-13B-Chat")
messages = []
messages.append({"role": "user", "content": "世界上第二高的山峰是哪座"})
response = model.chat(tokenizer, messages)
print(response)

由于GPU显存只有16G,因此我们直接使用 int4 量化,但由于取消了device_map=‘auto’,模型加载到了CPU上,所以速度非常慢,而且还出现报错。

RuntimeError: CUDA Error: no kernel image is available for execution
on the device

这个报错应该是和GPU型号有关系,待解决,参考
https://github.com/baichuan-inc/Baichuan-13B/issues/56

如果上面是硬件的问题,我们可以考虑直接加载Baichuan-13B的量化版:Baichuan-13B-Chat-8bit,并用git clone命令下载。

git clone https://huggingface.co/trillionmonster/Baichuan-13B-Chat-8bit

使用 int8 推理代码如下:

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation.utils import GenerationConfig
tokenizer = AutoTokenizer.from_pretrained("/data/sim_chatgpt/Baichuan-13B-Chat-8bit", use_fast=False, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("/data/sim_chatgpt/Baichuan-13B-Chat-8bit",  device_map="auto", trust_remote_code=True)
model.generation_config = GenerationConfig.from_pretrained("/data/sim_chatgpt/Baichuan-13B-Chat-8bit")
messages = []
messages.append({"role": "user", "content": "世界上第二高的山峰是哪座"})
response = model.chat(tokenizer, messages)
print(response)

使用 int4 推理只需修改一行代码如下:
(区别在于加上 load_in_4bit=True)

model = AutoModelForCausalLM.from_pretrained("/data/sim_chatgpt/Baichuan-13B-Chat-8bit",  device_map="auto",load_in_4bit=True,trust_remote_code=True)

微调和部署

本次微调参考:LLaMA-Efficient-Tuning

下载仓库

git clone https://github.com/hiyouga/LLaMA-Efficient-Tuning.git

配置环境

# 这里使用和 baichuan-7b 相同的环境
conda create -n baichuan-7b python=3.10
conda activate baichuan-7b
cd LLaMA-Efficient-Tuning
pip install -r requirements.txt

微调数据

这里直接使用 alpaca_gpt4_zh,也就是由GPT24生成的中文alpaca数据,在仓库的data目录下。

微调过程

微调方法采用 LoRA 方法。

CUDA_VISIBLE_DEVICES=0 python src/train_bash.py \--stage sft \--model_name_or_path /data/sim_chatgpt/Baichuan-13B-Base \--do_train \--dataset alpaca_gpt4_zh \--finetuning_type lora \--output_dir path_to_sft_checkpoint \--overwrite_cache \--per_device_train_batch_size 1 \--gradient_accumulation_steps 1 \--lr_scheduler_type cosine \--logging_steps 10 \--save_steps 1000 \--learning_rate 5e-5 \--num_train_epochs 3.0 \--plot_loss \--fp16

参考:https://zhuanlan.zhihu.com/p/643950663
https://github.com/yangjianxin1/Firefly

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

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

相关文章

【大模型】更强的 LLaMA2 来了,开源可商用、与 ChatGPT 齐平

【大模型】可商用且更强的 LLaMA2 来了 LLaMA2 简介论文GitHubhuggingface模型列表训练数据训练信息模型信息 许可证参考 LLaMA2 简介 2023年7月19日:Meta 发布开源可商用模型 Llama 2。 Llama 2是一个预训练和微调的生成文本模型的集合,其规模从70亿到…

[Unity3D] 协程

目录 前言 学习来源: 一、什么是协程 二、协程的应用举例 三、协程的使用方式 3.1 启动 3.2 结束 3.3 嵌套 3.4 注意 四、Unity脚本的生命周期 五、yield速查表 前言 学习笔记,仅供学习,不做商用,如有侵权&#…

“AIGC早报”已内测2个月了,来看看她长什么样子

今天,是咱们社群“AI产品经理大本营”六周年活动的第二天,正式给大家介绍下,已内测2个月的重要会员权益——AIGC日报。 会分三个部分:效果口碑、我们如何做到的、今日的AIGC早报展示‍‍‍‍‍‍‍‍ ps,文末会发福利星…

何以驾驭AIGC领域的关键进程?得深邃技术得天下

“大海和火车成为那个世纪新兴经济的象征:强大、危险、难以驾驭和预测,但令人着迷和兴奋。” 这是诺贝尔经济学奖得主埃德蒙•费尔普斯曾在《大繁荣》一书中对19世纪有过这样的描述。 穿越回当下的21世纪,又有哪项发明具备这些特质&#xff…

【腾讯云 Cloud Studio 实战训练营】Cloud Studio实现健康上报小程序(代码开源)

目录 🍳前言🍳实验介绍🍳产品介绍🍳注册Cloud Stdio🍳后端Spring服务🍳创建项目上传项目数据库连接与导入 🍳Vue后台管理创建项目编辑模板信息选择环境镜像上传资源文件 🍳小程序⭐总…

【OpenMMLab AI实战营二期笔记】第七天 MMDetection代码课

0. 环境检测和安装 # 安装 mmengine 和 mmcv 依赖 # 为了防止后续版本变更导致的代码无法运行,暂时锁死版本 pip install -U "openmim0.3.7" mim install "mmengine0.7.1" mim install "mmcv2.0.0"# Install mmdetection rm -rf mmd…

AI实战营第二期 第六节 《MMDetection代码课》——笔记7

文章目录 什么是MMDetection?环境检测和安装1 数据集准备和可视化2 自定义配置文件3 训练前可视化验证4 模型训练5 模型测试和推理6 可视化分析MMYOLO 环境和依赖安装特征图可视化1. 可视化 backbone 输出的 3 个通道2. 可视化 neck 输出的 3 个通道 Grad-Based CAM…

最新!2023软科中国大学排名发布!

Datawhale高校 方向:软科中国大学排名,来源:软科 2023年3月30日,高等教育专业评价机构软科今日正式发布2023“软科中国大学专业排名”。 上榜高校共有590所,清华大学、北京大学、浙江大学连续9年蝉联全国三甲&#xf…

ChatGPT 和对话式 AI 的未来:2023 年的进展和应用

人工智能(Artificial Intelligence)在过去一段时间以来以前所未有的速度快速发展。从自动化日常任务到重要提醒的设定,AI以各种方式渗透到我们的生活中。然而,在这个领域中迈出的最重要一步是ChatGPT。 ChatGPT被瑞银(UBS)评为“有史以来增长最快的消费者应用程序”,于…

月薪13K!从零开始,小白转行程序员,三个月实现人生逆转~

思绪运转之间,上班也已经有一周了,我有想过给的所有老师都写一封感谢信的,但发现工作量太大了,只能用这一封信来表达对所有老师们的感谢。 软件测试,一个陌生的领域,对于一个毫无经验的小白来说&#xff0…

ChatGPT生成一篇文章:关于Docker

如今AI智能如火如荼,如果不会点ChatGPT总感觉有点落后了。最近刚好重新复习了一遍Docker,这里尝试通过ChatGPT来生成一篇关于Docker文章。来看效果。 1、什么是Docker Docker是一种容器化技术,可以将应用程序和它们的依赖项封装在一个虚拟的…

自主安装IPA文件到iPhone上

1.电脑下载iTunes,手机使用数据线连接在电脑上,一定要选择信任电脑 2.打开iTunes,点击手机图标 3.拖拽已下载的IPA文件到我的设备,蓝色高亮处,可以看到顶部的进度条,进度条完了可以查看手机,已…

iPhone 直接安装 .ipa包

有些App因为各种原因,不能直接通过App Store下载到,以前是可以在网上找到.ipa文件通过iTunes直接安装的。但是现在的版本已经不支持了。 官方的工具不好用,只好用民间的了。我们在电脑上下载一个爱思助手,然后将手机连接到电脑上…

实现 ipad 上看来自 v4l2 上的摄像头视频

配合 http://blog.csdn.net/sunkwei/archive/2011/06/07/6530343.aspx 实现在 ipad 上观看来自 v4l2 的摄像头视频. 先上ipad 抓屏图 这个做的很粗糙, 而且有些 opengl es 的概念也没有搞明白, 慢慢再补充吧.

【iOS开发】ipa安装到手机上的三种方式

转载地址:ipa安装到手机上的三种方式 ipa包 安装三种方式,优先推荐第一种方法(通过iTunes安装)。 1、通过iTunes安装 数据线连接手机之后,会自动连接iTunes,(第一次连接的时候会提示是否信任…

iphone或者ipad上安装自己打包的ipa文件

对于非ios开发者来说,这确实是一个问题,但我懂的也不多,也是抱着试试的态度安装了下,之前我以为安装ipa和在安卓手机上安装apk一样,qq或者微信传文件下载点击就可以安装了,但这个ipa如果在iphone上这样做&a…

苹果如何安装ipa(亲测有用,无需越狱)

方法一 懒省事使用爱思助手即可(需要签名) 方法二 1.下载cydiaimpactor(无需签名) 官方地址 百度云下载:https://pan.baidu.com/s/1rYIG4go-fOEHarSjziA1eg 提取码:3b48 2.连上苹果手机,启动cy…

ios 程序发布成ipa 文件 通过 web 下载和安装。install App via OTA

转自: http://blog.csdn.net/totogogo/article/details/7391531 iOS 7.1正式版发布了,之前使用itms-services://URL方式在线安装ipa文件的方法却失效了,点击的时候报错为:“无法安装应用程序,因xxx.com的证书无效”&a…

IPA 包不经过APP Store直接发布到网站供用户下载安装

最近公司有需求,要把IOS客户端(IPA包)放到自己服务器上供用户下载,这样就能跳过APP Store 的审核。 准备条件 1.IOS 开发包 即IPA文件。 2.Plist文件。 3.https服务器(IOS7.01之后必须https) 准备条件…

iOS打包IPA教程

转载:xcode打包导出ipa 众所周知,在开发苹果应用时需要使用签名(证书)才能进行打包安装苹果 IPA,作为刚接触ios开发的同学,只是学习ios app开发内测,并没有上架appstore需求,对于苹…