本地部署 Baichuan-13B

本地部署 Baichuan-13B

  • 1. 什么是 Baichuan-13B
  • 2. Github 地址
  • 3. 安装 Miniconda3
  • 4. 创建虚拟环境
  • 5. 安装 Baichuan-13B
  • 6. 启动 Baichuan-13B
  • 7. 访问 Baichuan-13B

1. 什么是 Baichuan-13B

2023年7月11日,百川智能发布了Baichuan-13B-Chat。

Baichuan-13B-Chat为Baichuan-13B系列模型中对齐后的版本,预训练模型可见Baichuan-13B-Base。

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 不仅对学术研究完全开放,开发者也仅需邮件申请并获得官方商用许可后,即可以免费商用。

商业用途(For commercial use): 请通过 Email([email protected]) 联系申请书面授权。

2. Github 地址

https://github.com/baichuan-inc/Baichuan-13B

3. 安装 Miniconda3

下载 Conda 安装脚本,

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

运行安装脚本,

bash Miniconda3-latest-Linux-x86_64.sh

按提示操作。当提示是否初始化 Conda 时,输入 “yes”,

在这里插入图片描述

安装完成后,关闭当前终端并打开新终端,这将激活 Conda,

sudo su - root

更新 Conda 至最新版本,

conda update conda

在这里插入图片描述
在这里插入图片描述

4. 创建虚拟环境

conda create -n baichuan-13b python==3.10.6 -y
conda activate baichuan-13b

5. 安装 Baichuan-13B

git clone --recursive https://github.com/baichuan-inc/Baichuan-13B.git; cd Baichuan-13B
pip install -r requirements.txt

6. 启动 Baichuan-13B

我的显卡是 4090,只用 24GB 显存,所以直接跑 Baichuan-13B 会报错。可以通过量化部署在 4090 上运行起来,执行以下命令。

cp web_demo.py web_ui.py
vi web_ui.py

--- 修改后的内容如下
def init_model():
    model = AutoModelForCausalLM.from_pretrained(
        "baichuan-inc/Baichuan-13B-Chat",
        torch_dtype=torch.float16,
        # device_map="auto",
        trust_remote_code=True
    )
    model = model.quantize(8).cuda()
    model.generation_config = GenerationConfig.from_pretrained(
        "baichuan-inc/Baichuan-13B-Chat"
    )
    tokenizer = AutoTokenizer.from_pretrained(
        "baichuan-inc/Baichuan-13B-Chat",
        use_fast=False,
        trust_remote_code=True
    )
    return model, tokenizer
---

启动 web_ui.py,

streamlit run web_ui.py

由于需要量化处理和加载模型,这个过程花的时间比较长一些。

本地部署 Baichuan-13B_第1张图片

7. 访问 Baichuan-13B

使用浏览器打开 http://localhost:8501/

问它一个问题,清华大学在哪?

本地部署 Baichuan-13B_第2张图片

完结!

你可能感兴趣的:(LINUX,BaiChuan-13B,ChatGPT,BaiChuan,百川智能,百川大模型)