【AIGC】BaiChuan7B开源大模型介绍、部署以及创建接口服务

这篇具有很好参考价值的文章主要介绍了【AIGC】BaiChuan7B开源大模型介绍、部署以及创建接口服务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

模型介绍

baichuan-7B是由百川智能开发的一个开源的大规模预训练模型。基于Transformer结构,在大约1.2万亿tokens上训练的70亿参数模型,支持中英双语,上下文窗口长度为4096。在标准的中文和英文权威benchmark(C-EVAL/MMLU)上均取得同尺寸最好的效果。

huggingface
github

部署环境

  • 系统:centos7.8.2003
  • GPU:2 * 3090 (24G)

代码下载

git clone https://github.com/baichuan-inc/baichuan-7B.git

模型下载

下载地址:https://huggingface.co/baichuan-inc/baichuan-7B/tree/main

huggingface模型下载有几种方式:

  • 使用git下载
git lfs install
git clone https://huggingface.co/baichuan-inc/baichuan-7B
  • 网页直接下载,一个个下载,然后放置到固定文件夹下即可。
    【AIGC】BaiChuan7B开源大模型介绍、部署以及创建接口服务
  • 使用代码自动加载huggingface模型
tokenizer = AutoTokenizer.from_pretrained("baichuan-inc/baichuan-7B", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("baichuan-inc/baichuan-7B", device_map="auto", trust_remote_code=True)

环境安装

python == 3.8.16

pip install -r requirements.txt 

独立测试

GPU应该选择至少30G的显存。我这里一块24G卡,测试启动不稳定,显存容易溢出(可以通过修改max_new_tokens参数为64,勉强可以跑)。2块24G卡没问题。

# !/usr/bin/env python
# -*- coding:utf-8 -*-

import os
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

os.environ["CUDA_VISIBLE_DEVICES"] = '4, 5'

if __name__ == '__main__':
    text_generation_zh = pipeline(task=Tasks.text_generation, model='baichuan-inc/baichuan-7B',model_revision='v1.0.2')
    text_generation_zh._model_prepare = True
    result_zh = text_generation_zh('今天天气是真的')
    print(result_zh)

模型处填写保存模型的目录路径

【AIGC】BaiChuan7B开源大模型介绍、部署以及创建接口服务

服务接口

# !/usr/bin/env python
# -*- coding:utf-8 -*-
from flask import Flask, request, jsonify
import threading
from flask_cors import CORS
import os
from transformers import AutoModelForCausalLM, AutoTokenizer

os.environ["CUDA_VISIBLE_DEVICES"] = '4, 5'

app = Flask(__name__)
CORS(app)


# 加载模型
tokenizer = AutoTokenizer.from_pretrained("baichuan-inc/baichuan-7B", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("baichuan-inc/baichuan-7B", device_map="auto", trust_remote_code=True)

# 创建线程锁和计数器
lock = threading.Lock()
counter = 0
MAX_CONCURRENT_REQUESTS = 5  # 最大并发请求数


@app.route('/baichuan/conversation', methods=['POST'])
def conversation():
    global counter

    # 请求过载,返回提示信息
    if counter >= MAX_CONCURRENT_REQUESTS:
        return jsonify({'message': '请稍等再试'})

    # 获取线程锁
    with lock:
        counter += 1

    try:
        # 接收 POST 请求的数据
        question = request.json['question']
        question += '->'

        inputs = tokenizer(question, return_tensors='pt')
        inputs = inputs.to('cuda:0')
        pred = model.generate(**inputs, max_new_tokens=1024, repetition_penalty=1.1)

        text = tokenizer.decode(pred.cpu()[0], skip_special_tokens=True)
        print("result:", text)
        
        # 返回结果
        response = {'result': text[len(question):]}
        
        return jsonify(response)

    finally:
        # 释放线程锁并减少计数器
        with lock:
            counter -= 1


if __name__ == '__main__':
    print("Flask 服务器已启动")
    app.run(host='0.0.0.0', port=30908)

接口调用

【AIGC】BaiChuan7B开源大模型介绍、部署以及创建接口服务

测试小结

  • 该模型是一个文本生成模型,对话式效果较差,但是如果prompt为问答式,还是有一些效果的。如果需要对话式满足自己的需求,还是需要进行后续的fintune微调。

官方也说了:

chatgpt 等模型专门针对对话进行了微调,目前 baichuan-7B 暂时还没针对对话微调,所以不支持对话。
但目前模型是有推理能力的。
模型介绍页面已经举例用法了,如“登鹳雀楼->王之涣\n夜雨寄北->”,给定示例“登鹳雀楼->王之涣”,也就是根据诗歌名称推理作者名称,那么给定问题“夜雨寄北->”,就能够正确推理出来,作者是“李商隐”。 如果你想实现对话能力,你可以找 gpt 的公开对话数据集,自己对 baichuan-7B 进行微调。文章来源地址https://www.toymoban.com/news/detail-486717.html

  • 看社区也有大佬已经微调了对话模型 https://huggingface.co/hiyouga/baichuan-7b-sft ,有时间可以试试。

希望

  • 希望有更多的大佬微调出更出色的AIGC能力。

到了这里,关于【AIGC】BaiChuan7B开源大模型介绍、部署以及创建接口服务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • NLP(六十三)使用Baichuan-7b模型微调人物关系分类任务

    任务介绍   人物关系分类指的是对文本中的两个人物,在特定的关系列表中,判断他们之间的人物关系。以样本 亲戚 1837年6月20日,威廉四世辞世,他的侄女维多利亚即位。 为例,其中 亲戚 为人物关系, 威廉四世 为实体1, 维多利亚 为实体2。   笔者自己利用业余时

    2024年02月15日
    浏览(40)
  • 【AIGC】CPM-BEE 开源大模型介绍、部署以及创建接口服务

    # CPM-Bee 百亿参数的 开源 中英文双语基座大模型 CPM-Bee 是一个完全开源、允许商用的百亿参数中英文基座模型,也是 CPM-Live 训练的第二个里程碑。它采用Transformer自回归架构(auto-regressive),在超万亿(trillion)高质量语料上进行预训练,拥有强大的基础能力。开发者和研究

    2024年02月09日
    浏览(37)
  • 【AIGC】Baichuan2-13B-Chat模型微调

    微调框架:LLaMA-Efficient-Tuning 训练机器:4*RTX3090TI (24G显存) python环境:python3.8, 安装 requirements.txt 依赖包 1、准备数据集 2、训练及测试 1)创建模型输出目录 2)创建deepspeed配置文件目录 3)创建deepspeed配置文件 4)训练模型 测试模型 3、注意事项: 1)我用的是3090TI显卡,使用

    2024年02月08日
    浏览(36)
  • 开源模型应用落地-baichuan2模型小试-入门篇(三)

            相信您已经学会了如何在Windows环境下以最低成本、无需GPU的情况下运行baichuan2大模型。现在,让我们进一步探索如何在Linux环境下,并且拥有GPU的情况下运行baichuan2大模型,以提升性能和效率。     CentOS是一种基于Linux的自由开源操作系统。它是从Red Hat Enterprise Li

    2024年04月17日
    浏览(42)
  • Baichuan2百川模型部署的bug汇总

    1.4bit的量化版本最好不要在Windows系统中运行,大概原因报错原因是bitsandbytes不支持window,bitsandbytes-windows目前仅支持8bit量化。 2. 报错原因是机器没有足够的内存和显存,offload_folder设置一个文件夹来保存那些离线加载到硬盘的权重。 ag:需要再cli_demo.py的文件中增加 offload_

    2024年01月18日
    浏览(34)
  • Baichuan-13B:130亿参数的开源语言模型,引领中文和英文benchmark

    Baichuan-13B: 一个强大的开源大规模语言模型 标题:Baichuan-13B:130亿参数的开源语言模型,引领中文和英文benchmark Baichuan-13B是由百川智能开发的一个开源大规模语言模型项目,包含了130亿参数。该模型在中文和英文的权威benchmark上达到了同尺寸模型的最佳效果。这个项目发布了

    2024年02月16日
    浏览(40)
  • 【大模型】更强的开源可商用的中英文大语言模型baichuan2来了,从零开始搭建

    baichuan-7B 可以查看这篇文章: 【AI实战】开源可商用的中英文大语言模型baichuan-7B,从零开始搭建 Baichuan 2 是百川智能推出的第二代开源大语言模型,采用 2.6 万亿 Tokens 的高质量语料训练。 Baichuan 2 在多个权威的中文、英文和多语言的通用、领域 benchmark 上取得同尺寸最佳的

    2024年02月09日
    浏览(26)
  • Mistral 7B v0.2 基础模型开源,大模型微调实践来了

    Mistral AI在3月24日突然发布并开源了 Mistral 7B v0.2模型,有如下几个特点: 和上一代Mistral v0.1版本相比, 上下文窗口长度从8k提升到32k ,上下文窗口(context window)是指语言模型在进行预测或生成文本时,所考虑的前一个token或文本片段的大小范围。随着上下文窗口长度的增加

    2024年04月26日
    浏览(25)
  • Mistral 7B 比Llama 2更好的开源大模型 (三)

    Mistral 7B 比Llama 2更好的开源大模型 Mistral 7B是一个70亿参数的语言模型,旨在获得卓越的性能和效率。Mistral 7B在所有评估的基准测试中都优于最好的开放13B模型(Llama 2),在推理、数学和代码生成方面也优于最好的发布34B模型(Llama 1)。Mistral 7B模型利用分组查询注意力(G

    2024年02月05日
    浏览(30)
  • LLM:Vicuna 7B模型简单部署体验

    随着ChatGPT的火热,科技公司们各显神通,针对大语言模型LLM通常需要极大的算力支持,且没有开源,阻碍了进一步的研究和应用落地。受 Meta LLaMA 和 Stanford Alpaca 项目的启发,来自加州大学伯克利分校、CMU、斯坦福大学和加州大学圣地亚哥分校的成员,共同推出了一个 Vicun

    2024年02月07日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包