? Embrasser le visage •?

L'application Baixiaoying a été officiellement lancée! Les assistants de l'IA qui savent rechercher et poser des questions, rechercher Baixiao dans les principaux magasins d'applications, vous bien vous accueillir pour le télécharger et l'expérimenter?
Chinois |
[ 2023.12.29 ] ??? dans:
La version de version et les liens de téléchargement sont affichés dans le tableau suivant:
| Modèle de base | Aligner le modèle | Modèle d'alignement 4bits quantification | |
|---|---|---|---|
| 7b | ? | ? | ? Baichuan2-7b-chat-4bits |
| 13B | ? | ? | ? |
Nous avons beaucoup testé le modèle sur les ensembles de données chinois et anglais et multilingue dans six domaines: général, droit, médical, mathématiques, code et traduction multilingue.
Dans le domaine général, nous avons effectué des tests à 5 coups sur l'ensemble de données suivant.
| C-Eval | MMLU | Cmmlu | Gaokao | Agié | Bbh | |
|---|---|---|---|---|---|---|
| 5 tirs | 5 tirs | 5 tirs | 5 tirs | 5 tirs | 3 tirs | |
| Gpt-4 | 68.40 | 83.93 | 70.33 | 66.15 | 63.27 | 75.12 |
| GPT-3.5 Turbo | 51.10 | 68,54 | 54.06 | 47.07 | 46.13 | 61,59 |
| Lama-7b | 27.10 | 35.10 | 26.75 | 27.81 | 28.17 | 32.38 |
| Llama2-7b | 28.90 | 45,73 | 31.38 | 25.97 | 26.53 | 39.16 |
| MPT-7B | 27.15 | 27.93 | 26h00 | 26.54 | 24.83 | 35.20 |
| Falcon-7B | 24.23 | 26.03 | 25.66 | 24.24 | 24.10 | 28.77 |
| Chatglm2-6b | 50.20 | 45,90 | 49.00 | 49.44 | 45.28 | 31,65 |
| Baichuan-7b | 42.80 | 42.30 | 44.02 | 36.34 | 34.44 | 32.48 |
| Baichuan2-7b-base | 54.00 | 54.16 | 57.07 | 47.47 | 42.73 | 41.56 |
| C-Eval | MMLU | Cmmlu | Gaokao | Agié | Bbh | |
|---|---|---|---|---|---|---|
| 5 tirs | 5 tirs | 5 tirs | 5 tirs | 5 tirs | 3 tirs | |
| Gpt-4 | 68.40 | 83.93 | 70.33 | 66.15 | 63.27 | 75.12 |
| GPT-3.5 Turbo | 51.10 | 68,54 | 54.06 | 47.07 | 46.13 | 61,59 |
| Lama-13b | 28.50 | 46.30 | 31.15 | 28.23 | 28.22 | 37.89 |
| Llama2-13b | 35.80 | 55.09 | 37,99 | 30.83 | 32.29 | 46.98 |
| Vicuna-13b | 32.80 | 52.00 | 36.28 | 30.11 | 31.55 | 43.04 |
| Chinois-alpaca-plus-13b | 38.80 | 43.90 | 33.43 | 34,78 | 35.46 | 28.94 |
| Xverse-13b | 53,70 | 55.21 | 58,44 | 44.69 | 42.54 | 38.06 |
| Baichuan-13b-base | 52.40 | 51,60 | 55.30 | 49.69 | 43.20 | 43.01 |
| Baichuan2-13b-base | 58.10 | 59.17 | 61.97 | 54.33 | 48.17 | 48.78 |
Dans le domaine du droit, nous avons utilisé l'ensemble de données JEC-QA. L'ensemble de données JEC-QA est dérivé de l'examen judiciaire national de Chine. Nous n'avons conservé les questions que les questions à choix. Nous avons adopté un schéma d'évaluation similaire à celui de C-EVAL.
Le domaine médical utilise des disciplines médicales, MEDQA et MEDMCQA dans l'ensemble de données du domaine général (C-Eval, MMLU, CMMLU). Nous avons adopté un schéma d'évaluation similaire à celui de C-EVAL.
Nous avons effectué des tests à 5 coups sur l'ensemble de données ci-dessus.
| JEC-QA | Ceval-MMLU-CMMLU | MEDQA-USMLE | Medqa-mcmle | Medmcqa | |
|---|---|---|---|---|---|
| 5 tirs | 5 tirs | 5 tirs | 5 tirs | 5 tirs | |
| Gpt-4 | 59.32 | 77.16 | 80.28 | 74,58 | 72.51 |
| GPT-3.5 Turbo | 42.31 | 61.17 | 53.81 | 52.92 | 56.25 |
| Lama-7b | 27.45 | 33.34 | 24.12 | 21.72 | 27.45 |
| Llama2-7b | 29.20 | 36.75 | 27.49 | 24.78 | 37,93 |
| MPT-7B | 27.45 | 26.67 | 16.97 | 19.79 | 31.96 |
| Falcon-7B | 23.66 | 25.33 | 21.29 | 18.07 | 33,88 |
| Chatglm2-6b | 40.76 | 44,54 | 26.24 | 45,53 | 30.22 |
| Baichuan-7b | 34.64 | 42.37 | 27.42 | 39.46 | 31.39 |
| Baichuan2-7b-base | 44.46 | 56.39 | 32.68 | 54.93 | 41.73 |
| JEC-QA | Ceval-MMLU-CMMLU | MEDQA-USMLE | Medqa-mcmle | Medmcqa | |
|---|---|---|---|---|---|
| 5 tirs | 5 tirs | 5 tirs | 5 tirs | 5 tirs | |
| Gpt-4 | 59.32 | 77.16 | 80.28 | 74,58 | 72.51 |
| GPT-3.5 Turbo | 42.31 | 61.17 | 53.81 | 52.92 | 56.25 |
| Lama-13b | 27.54 | 35.14 | 28.83 | 23.38 | 39.52 |
| Llama2-13b | 34.08 | 47.42 | 35.04 | 29.74 | 42.12 |
| Vicuna-13b | 28.38 | 40.99 | 34.80 | 27.67 | 40.66 |
| Chinois-alpaca-plus-13b | 35.32 | 46.31 | 27.49 | 32.66 | 35.87 |
| Xverse-13b | 46.42 | 58.08 | 32.99 | 58,76 | 41.34 |
| Baichuan-13b-base | 41.34 | 51.77 | 29.07 | 43.67 | 39.60 |
| Baichuan2-13b-base | 47.40 | 59.33 | 40.38 | 61,62 | 42.86 |
Dans le domaine des mathématiques, nous avons utilisé le cadre d'évaluation OpenCompass pour tester les ensembles de données GSM8K et mathématiques 4-Shot.
Le champ de code utilise des ensembles de données Humaneval et MBPP. Nous avons utilisé OpenCompass pour tester Humaneval 0-Shot et MBPP DataSet 3-Shot.
| GSM8K | MATHÉMATIQUES | Humain | MBPP | |
|---|---|---|---|---|
| 4 tirs | 4 tirs | 0 | 3 tirs | |
| Gpt-4 | 89,99 | 40.20 | 69.51 | 63.60 |
| GPT-3.5 Turbo | 57.77 | 13.96 | 52.44 | 61.40 |
| Lama-7b | 9.78 | 3.02 | 11.59 | 14h00 |
| Llama2-7b | 16.22 | 3.24 | 12.80 | 14.80 |
| MPT-7B | 8.64 | 2.90 | 14.02 | 23.40 |
| Falcon-7B | 5.46 | 1.68 | - | 10.20 |
| Chatglm2-6b | 28.89 | 6.40 | 9.15 | 9h00 |
| Baichuan-7b | 9.17 | 2.54 | 9.20 | 6.60 |
| Baichuan2-7b-base | 24.49 | 5.58 | 18.29 | 24.20 |
| GSM8K | MATHÉMATIQUES | Humain | MBPP | |
|---|---|---|---|---|
| 4 tirs | 4 tirs | 0 | 3 tirs | |
| Gpt-4 | 89,99 | 40.20 | 69.51 | 63.60 |
| GPT-3.5 Turbo | 57.77 | 13.96 | 52.44 | 61.40 |
| Lama-13b | 20,55 | 3.68 | 15.24 | 21.40 |
| Llama2-13b | 28.89 | 4.96 | 15.24 | 27h00 |
| Vicuna-13b | 28.13 | 4.36 | 16.46 | 15h00 |
| Chinois-alpaca-plus-13b | 11.98 | 2,50 | 16.46 | 20h00 |
| Xverse-13b | 18.20 | 2.18 | 15.85 | 16.80 |
| Baichuan-13b-base | 26.76 | 4.84 | 11.59 | 22.80 |
| Baichuan2-13b-base | 52.77 | 10.08 | 17.07 | 30.20 |
Nous avons utilisé l'ensemble de données Flores-101 pour évaluer la capacité multilingue du modèle. Flores-101 couvre 101 langues dans le monde. Ses données proviennent de divers domaines tels que les nouvelles, les guides de voyage et les livres. Nous avons sélectionné la langue officielle des Nations Unies (arabe, chinois, anglais, français, russe et espagnol) ainsi que l'allemand et le japonais comme langues d'essai. Nous avons utilisé OpenCompass pour effectuer des tests de 8 coups sur sept sous-tâches de Flores-101, notamment chinois-anglais, chinois-française, chinois-espion, chinois-arabe, chinois-russe, chinois-japonal et chinois-Allemagne.
| Cn-en | CN-Fr | CN-ES | CN-AR | Cn-ru | CN-JP | Cn-de | Moyenne | |
|---|---|---|---|---|---|---|---|---|
| Gpt-4 | 29.94 | 29.56 | 20.01 | 10.76 | 18.62 | 13.26 | 20.83 | 20.43 |
| GPT-3.5 Turbo | 27.67 | 26.15 | 19.58 | 10.73 | 17.45 | 1.82 | 19.70 | 17.59 |
| Lama-7b | 17.27 | 12.02 | 9.54 | 0,00 | 4.47 | 1.41 | 8.73 | 7.63 |
| Llama2-7b | 25.76 | 15.14 | 11.92 | 0,79 | 4.99 | 2.20 | 10.15 | 10.14 |
| MPT-7B | 20.77 | 9.53 | 8.96 | 0.10 | 3.54 | 2.91 | 6.54 | 7.48 |
| Falcon-7B | 22.13 | 15.67 | 9.28 | 0.11 | 1.35 | 0,41 | 6.41 | 7.91 |
| Chatglm2-6b | 22.28 | 9.42 | 7.77 | 0,64 | 1.78 | 0,26 | 4.61 | 6.68 |
| Baichuan-7b | 25.07 | 16.51 | 12.72 | 0,41 | 6.66 | 2.24 | 9.86 | 10.50 |
| Baichuan2-7b-base | 27.27 | 20.87 | 16.17 | 1.39 | 11.21 | 3.11 | 12.76 | 13.25 |
| Cn-en | CN-Fr | CN-ES | CN-AR | Cn-ru | CN-JP | Cn-de | Moyenne | |
|---|---|---|---|---|---|---|---|---|
| Gpt-4 | 29.94 | 29.56 | 20.01 | 10.76 | 18.62 | 13.26 | 20.83 | 20.43 |
| GPT-3.5 Turbo | 27.67 | 26.15 | 19.58 | 10.73 | 17.45 | 1.82 | 19.70 | 17.59 |
| Lama-13b | 21.75 | 16.16 | 13.29 | 0,58 | 7.61 | 0,41 | 10.66 | 10.07 |
| Llama2-13b | 25.44 | 19.25 | 17.49 | 1.38 | 10.34 | 0,13 | 11.13 | 12.17 |
| Vicuna-13b | 22.63 | 18.04 | 14.67 | 0,70 | 9.27 | 3.59 | 10.25 | 11.31 |
| Chinois-alpaca-plus-13b | 22.53 | 13.82 | 11.29 | 0,28 | 1.52 | 0,31 | 8.13 | 8.27 |
| Xverse-13b | 29.26 | 24.03 | 16.67 | 2.78 | 11.61 | 3.08 | 14.26 | 14.53 |
| Baichuan-13b-base | 30.24 | 20.90 | 15.92 | 0,98 | 9.65 | 2.64 | 12h00 | 13.19 |
| Baichuan2-13b-base | 30.61 | 22.11 | 17.27 | 2.39 | 14.17 | 11.58 | 14.53 | 16.09 |
Les poids du modèle, les codes source et les configurations requis pour l'inférence ont été publiés dans Hugging Face. Nous démontrons une variété de façons de raisonner ici. Le programme téléchargera automatiquement les ressources requises de l'étreinte Face.
pip install -r requirements.txt >> > import torch
>> > from transformers import AutoModelForCausalLM , AutoTokenizer
>> > from transformers . generation . utils import GenerationConfig
>> > tokenizer = AutoTokenizer . from_pretrained ( "baichuan-inc/Baichuan2-13B-Chat" , use_fast = False , trust_remote_code = True )
>> > model = AutoModelForCausalLM . from_pretrained ( "baichuan-inc/Baichuan2-13B-Chat" , device_map = "auto" , torch_dtype = torch . bfloat16 , trust_remote_code = True )
>> > model . generation_config = GenerationConfig . from_pretrained ( "baichuan-inc/Baichuan2-13B-Chat" )
>> > messages = []
>> > messages . append ({ "role" : "user" , "content" : "解释一下“温故而知新”" })
>> > response = model . chat ( tokenizer , messages )
>> > print ( response )
"温故而知新"是一句中国古代的成语,出自《论语·为政》篇。这句话的意思是:通过回顾过去,我们可以发现新的知识和理解。换句话说,学习历史和经验可以让我们更好地理解现在和未来。
这句话鼓励我们在学习和生活中不断地回顾和反思过去的经验,从而获得新的启示和成长。通过重温旧的知识和经历,我们可以发现新的观点和理解,从而更好地应对不断变化的世界和挑战。 >> > from transformers import AutoModelForCausalLM , AutoTokenizer
>> > tokenizer = AutoTokenizer . from_pretrained ( "baichuan-inc/Baichuan2-13B-Base" , trust_remote_code = True )
>> > model = AutoModelForCausalLM . from_pretrained ( "baichuan-inc/Baichuan2-13B-Base" , device_map = "auto" , trust_remote_code = True )
>> > inputs = tokenizer ( '登鹳雀楼->王之涣n夜雨寄北->' , return_tensors = 'pt' )
>> > inputs = inputs . to ( 'cuda:0' )
>> > pred = model . generate ( ** inputs , max_new_tokens = 64 , repetition_penalty = 1.1 )
>> > print ( tokenizer . decode ( pred . cpu ()[ 0 ], skip_special_tokens = True ))
登鹳雀楼- >王之涣
夜雨寄北- >李商隐Dans les deux codes ci-dessus, le modèle charge le
device_map='auto'et toutes les cartes graphiques disponibles seront utilisées. Si vous devez spécifier l'appareil à utiliser, vous pouvez utiliser une méthode commeexport CUDA_VISIBLE_DEVICES=0,1(les cartes graphiques 0 et 1 sont utilisées).
python cli_demo.pyCet outil de ligne de commande est conçu pour les scénarios de chat, nous ne prenons donc pas en charge des modèles de base d'appel à l'aide de cet outil.
S'appuyant sur Streamlit pour exécuter la commande suivante, un service Web sera démarré localement et l'adresse donnée par la console sera placée dans le navigateur pour accéder. Cet outil de démonstration Web est conçu pour les scénarios de chat, nous ne prenons donc pas en charge des modèles de base d'appel à l'aide de cet outil.
streamlit run web_demo.py用户:找到下列数组的中位数[3.1,6.2,1.3,8.4,10.5,11.6,2.1],请用python代码完成以上功能
Baichuan 2:def find_median(numbers):
numbers.sort()
length = len(numbers)
if length % 2 == 0:
return (numbers[length // 2 - 1] + numbers[length // 2]) / 2
else:
return numbers[length // 2]
numbers = [3.1, 6.2, 1.3, 8.4, 10.5, 11.6, 2.1]
print(find_median(numbers))
用户:鸡和兔在一个笼子里,共有26个头,68只脚,那么鸡有多少只,兔有多少只?
Baichuan 2:我们可以用代数方法来解决这个问题。假设鸡的数量为x,兔子的数量为y。根据题目给出的信息,我们可以得到以下两个方程:
1. x + y = 26 (头的总数)
2. 2x + 4y = 68 (脚的总数)
现在我们需要解这个二元一次方程组。首先从第一个方程中解出x:
x = 26 - y
然后将x的表达式代入第二个方程:
2(26 - y) + 4y = 68
52 - 2y + 4y = 68
2y = 16
接下来我们求解y的值:
y = 16 / 2
y = 8
现在我们得到了兔子的数量是8只。将y的值代入x的表达式求得鸡的数量:
x = 26 - 8
x = 18
所以鸡有18只,兔子有8只。
用户:从现在开始,请你将我接下来说的每一句话翻译成英语,准备好了吗?
Baichuan 2:I'm ready to translate every word you say next into English.
用户:你好
Baichuan 2:Hello
用户:我是Baichuan 2,很高兴认识大家
Baichuan 2:I am Baichuan 2, and I am very happy to meet everyone.
用户:希望通过大家的共同努力,早日迎接AGI时代的到来
Baichuan 2:I hope through the joint efforts of all of us, we can welcome the arrival of the AGI era as soon as possible.
用户:以下物理常识题目,哪一个是错误的?A.在自然环境下,声音在固体中传播速度最快。B.牛顿第一定律:一个物体如果不受力作用,将保持静止或匀速直线运动的状态。C.牛顿第三定律:对于每个作用力,都有一个相等而反向的反作用力。D.声音在空气中的传播速度为1000m/s。
Baichuan 2:本题考查物理基本概念和原理的理解和应用能力。
A项:声音的传播需要介质,在固体、液体和气体的三种介质中,声音在固体中的传播速度是最快的,故A正确; B项:牛顿第一定律是惯性定律,其内容是:一个物体如果没有受到外力的作用,要么保持静止状态,要么保持匀速直线运动状态,直到有外力迫使它改变运动状态为止,故B正确; C项:牛顿第三定律的内容是:对于每一个作用力,都有一个大小相等、方向相反的反作用力,这两个力分别作用在两个相互作用的物体上,故C错误; D项:声音在空气中以波的形式传播,其传播速度与介质的温度、湿度等因素有关,一般情况下,声音在空气中的传播速度约为340m/s左右,而不是1000m/s,故D错误。 因此,本题的正确答案是 D 。
用户:I'm Mike 。I am going to have a busy weekend。On Saturday,I am going to learn how to swim。I will go with my father。Then we are going to have lunch in the restaurant。In the afternoon,we are going to the zoo。We are going to see the pandas。On Sunday,I will finish my homework in the morning。In the afternoon,my parents and I are going to visit my grandparents。We will have dinner together。
阅读短文,判断正确和错误!正确请写T,错误请写F:
1.Mike is going to have a busy weekend()
2.Mike is going to learn how to swim with his father()
3.They are going to have lunch at home()
Baichuan 2:1. T(正确的)
2. T(正确的)
3. F(错误的)
Afin de permettre à différents utilisateurs et à différentes plates-formes d'exécuter le modèle Baichuan 2, nous avons effectué un travail quantitatif correspondant pour le modèle Baichuan 2 (y compris Baichuan2-7b-chat et Baichuan2-13b-chat) pour faciliter les utilisateurs pour déployer rapidement et efficacement le modèle Baichuan 2 sur leur propre plate-forme.
Baichuan 2 adopte l'approche quantitative dominante de la communauté: BitsandBytes. Cette méthode peut garantir que l'effet de quantification n'est pas perdu. BitsandBytes prend en charge 8bits et 4bits de quantification, dont 4Bits prend en charge les formats FP4 et NF4.
Sur la base de cette méthode de quantification, Baichuan 2 prend en charge deux modes: la quantification en ligne et la quantification hors ligne.
Pour la quantification en ligne, nous prenons en charge quantize() cuda() 4bits. Le code pour implémenter l'ensemble du chargement du modèle est très simple.
8bits Quantification en ligne:
model = AutoModelForCausalLM . from_pretrained ( "baichuan-inc/Baichuan2-7B-Chat" , torch_dtype = torch . float16 , trust_remote_code = True )
model = model . quantize ( 8 ). cuda () 4bits Quantification en ligne:
model = AutoModelForCausalLM . from_pretrained ( "baichuan-inc/Baichuan2-7B-Chat" , torch_dtype = torch . float16 , trust_remote_code = True )
model = model . quantize ( 4 ). cuda () Il convient de noter que lors de l'utilisation de l'interface from_pretrained , les utilisateurs ajouteront généralement device_map="auto" .
Afin de faciliter l'utilisation des utilisateurs, nous fournissons la version quantifiée hors ligne BAICHUAN2-7B-CHAT-4BITS pour les utilisateurs à télécharger. Il est très simple pour l'utilisateur de charger le modèle Baichuan2-7b-chat-4bits, il suffit d'être exécuté:
model = AutoModelForCausalLM . from_pretrained ( "baichuan-inc/Baichuan2-7B-Chat-4bits" , device_map = "auto" , trust_remote_code = True )Pour la quantification hors ligne de 8bits, nous ne fournissons pas la version correspondante, car la bibliothèque de transformateurs de face étreintes fournit l'interface API correspondante, qui peut facilement implémenter le stockage et le chargement du modèle quantitatif 8bits. Les utilisateurs peuvent réaliser que le modèle 8bits enregistre et chargez de la manière suivante:
# Model saving: model_id is the original model directory, and quant8_saved_dir is the directory where the 8bits quantized model is saved.
model = AutoModelForCausalLM . from_pretrained ( model_id , load_in_8bit = True , device_map = "auto" , trust_remote_code = True )
model . save_pretrained ( quant8_saved_dir )
model = AutoModelForCausalLM . from_pretrained ( quant8_saved_dir , device_map = "auto" , trust_remote_code = True )Comparaison de l'utilisation de la mémoire vidéo avant et après la quantification (GPU MEM dans GB):
| Précision | Baichuan2-7b | Baichuan2-13b |
|---|---|---|
| BF16 / FP16 | 15.3 | 27.5 |
| 8bits | 8.0 | 16.1 |
| 4bits | 5.1 | 8.6 |
Les résultats et les versions originales sur chaque référence après la quantification sont présentées ci-dessous:
| Modèle 5-Shot | C-Eval | MMLU | Cmmlu |
|---|---|---|---|
| Baichuan2-13b-chat | 56.74 | 57,32 | 59,68 |
| Baichuan2-13b-chat-4bits | 56.05 | 56.24 | 58,82 |
| Baichuan2-7b-chat | 54.35 | 52.93 | 54.99 |
| Baichuan2-7b-chat-4bits | 53.04 | 51.72 | 52.84 |
C-Eval est une évaluation réalisée sur son ensemble Val
Comme vous pouvez le voir, la perte de précision de 4bits par rapport à BFLOAT16 est d'environ 1 à 2 points de pourcentage.
Le modèle Baichuan 2 prend en charge l'inférence du processeur, mais il convient de souligner que la vitesse d'inférence du CPU est relativement lente. La méthode de chargement du modèle doit être modifiée comme suit:
# Taking Baichuan2-7B-Chat as an example
model = AutoModelForCausalLM . from_pretrained ( "baichuan-inc/Baichuan2-7B-Chat" , torch_dtype = torch . float32 , trust_remote_code = True ) Étant donné que de nombreux utilisateurs ont effectué de nombreux travaux d'optimisation sur Baichuan 1 (Baichuan-7b, Baichuan-13b), tels que l'optimisation de la compilation, la quantification, etc., afin d'appliquer ces travaux au Baichuan 2 à zéro coût, les utilisateurs peuvent effectuer une conversion hors ligne du modèle Baichuan 2, et après la conversion, ils peuvent être utilisés comme un modèle Baianan 1. Plus précisément, les utilisateurs n'ont qu'à utiliser le script suivant pour normaliser la dernière couche de LM_head dans le modèle Baichuan 2 hors ligne et remplacer lm_head.weight . Après le remplacement, vous pouvez compiler et optimiser le modèle converti comme le modèle Baichuan 1.
import torch
import os
ori_model_dir = 'your Baichuan 2 model directory'
# To avoid overwriting the original model, it's best to save the converted model to another directory before replacing it
new_model_dir = 'your normalized lm_head weight Baichuan 2 model directory'
model = torch . load ( os . path . join ( ori_model_dir , 'pytorch_model.bin' ))
lm_head_w = model [ 'lm_head.weight' ]
lm_head_w = torch . nn . functional . normalize ( lm_head_w )
model [ 'lm_head.weight' ] = lm_head_w
torch . save ( model , os . path . join ( new_model_dir , 'pytorch_model.bin' ))git clone https://github.com/baichuan-inc/Baichuan2.git
cd Baichuan2/fine-tune
pip install -r requirements.txtCi-dessous, nous donnons un exemple de formation autonome pour le réglage fin de la base baichuan2-7b.
Données de formation: data/belle_chat_ramdon_10k.json , les exemples de données sont échantillonnées à partir de Multiturn_Chat_0.8m, et la conversion de format est effectuée. Il montre principalement comment former plusieurs cycles de données et ne garantit pas l'effet.
hostfile= " "
deepspeed --hostfile= $hostfile fine-tune.py
--report_to " none "
--data_path " data/belle_chat_ramdon_10k.json "
--model_name_or_path " baichuan-inc/Baichuan2-7B-Base "
--output_dir " output "
--model_max_length 512
--num_train_epochs 4
--per_device_train_batch_size 16
--gradient_accumulation_steps 1
--save_strategy epoch
--learning_rate 2e-5
--lr_scheduler_type constant
--adam_beta1 0.9
--adam_beta2 0.98
--adam_epsilon 1e-8
--max_grad_norm 1.0
--weight_decay 1e-4
--warmup_ratio 0.0
--logging_steps 1
--gradient_checkpointing True
--deepspeed ds_config.json
--bf16 True
--tf32 TruePour la formation multi-machines, il vous suffit de donner au hôte et le contenu est similaire à ce qui suit:
ip1 slots=8
ip2 slots=8
ip3 slots=8
ip4 slots=8
....
Dans le même temps, spécifiez le chemin vers le hosftfile dans le script de formation:
hostfile= " /path/to/hostfile "
deepspeed --hostfile= $hostfile fine-tune.py
--report_to " none "
--data_path " data/belle_chat_ramdon_10k.json "
--model_name_or_path " baichuan-inc/Baichuan2-7B-Base "
--output_dir " output "
--model_max_length 512
--num_train_epochs 4
--per_device_train_batch_size 16
--gradient_accumulation_steps 1
--save_strategy epoch
--learning_rate 2e-5
--lr_scheduler_type constant
--adam_beta1 0.9
--adam_beta2 0.98
--adam_epsilon 1e-8
--max_grad_norm 1.0
--weight_decay 1e-4
--warmup_ratio 0.0
--logging_steps 1
--gradient_checkpointing True
--deepspeed ds_config.json
--bf16 True
--tf32 TrueLe code prend déjà en charge le réglage fin léger tel que LORA.
--use_lora True La configuration spécifique de LORA se trouve dans le script fine-tune.py .
Après avoir affiné avec LORA, vous pouvez utiliser la commande suivante pour charger le modèle:
from peft import AutoPeftModelForCausalLM
model = AutoPeftModelForCausalLM . from_pretrained ( "output" , trust_remote_code = True )En plus de former le modèle de base Baichuan2-7B avec 2,6 billions de jetons, nous fournissons également 11 autres points de contrôle intermédiaires (chacun formé environ 0,2 à 2,4 billions de jetons respectivement) pour la recherche communautaire (adresse de téléchargement). La figure suivante montre les changements d'effet de ces points de contrôle sur les trois repères de C-Eval, MMLU et CMMLU:

??? Nous continuerons à mettre à jour le soutien de la communauté et de l'écosystème pour Baichuan 2 ici ???
Déployez Baichuan2 - 7B / CHAT, BAICHUAN2 - 13B / CHAT MODÈLES UTILISATIONS Processeur évolutif Core ™ / Xiang® ou avec des GPU Ruixuan ™.
Bigdl-llm (CPU, GPU) est recommandé d'obtenir de meilleures performances d'inférence.
Manuel d'exploitation chinois, y compris le support de cahier
Chargement, optimisation, méthodes de sauvegarde, etc.
Modèle Fonction d'adaptation: Baichuan 2 (7b) a pris en charge les transformateurs Pytorch (2.1.0) + (4.36.0) + Deeppeed (0.12.4) + Accélérer (0.25.0) du modèle de réglage fin, qui peut être utilisé sans adaptation supplémentaire.
Déploiement d'inférence: Baichuan 2 (7b) a une inférence Ascend NPU à support nativement et peut être utilisé sans adaptation supplémentaire.
MindFormers est un kit de développement complet basé sur le framework MindSpore et prend en charge la formation de modèles à grande échelle, le réglage fin, l'évaluation, le raisonnement et le déploiement.
La plate-forme Shengsi Big Model est basée sur le framework Shengsi Mindspore AI, le kit de développement Big Model Mindformers et la puissance de calcul matériel Ascend, et ouvre les capacités de Baichuan2-7b Big Model au public, et tout le monde est invité à en faire l'expérience en ligne.
Le réglage économe en lama a soutenu le réglage fin et la formation continue des modèles Baichuan 2.
Baichuan2 (7b / 13b) prend en charge le raisonnement de la carte d'accélération Taichu T100, et le canal de procès a été officiellement ouvert au public.
Nous déclarons par la présente que notre équipe de développement n'a développé aucune application basée sur le modèle Baichuan 2, que ce soit sur iOS, Android, les pages Web ou toute autre plate-forme. Nous appelons fermement tous les utilisateurs à ne pas utiliser le modèle Baichuan 2 pour mener des activités qui mettent en danger la sécurité sociale nationale ou illégale. En outre, les utilisateurs sont également invités à ne pas utiliser le modèle Baichuan 2 pour les services Internet qui n'ont pas été correctement examinés et enregistrés. Nous espérons que tous les utilisateurs pourront respecter ce principe et veiller à ce que le développement de la science et de la technologie puisse être effectué dans un environnement standardisé et juridique.
Nous avons fait tout notre possible pour garantir la conformité aux données utilisées pendant la formation des modèles. Cependant, malgré nos grands efforts, il y a encore des problèmes imprévus en raison de la complexité du modèle et des données. Par conséquent, nous n'assumerons aucune responsabilité pour tout problème résultant de l'utilisation du modèle open source de Baichuan 2, y compris, mais sans s'y limiter, les problèmes de sécurité des données, les risques d'opinion publique ou les risques et problèmes résultant de la tromperie, de la maltraitance, de la diffusion ou de la mauvaise utilisation du modèle.
La communauté utilise des modèles Baichuan 2 pour suivre Apache 2.0 et l'accord de licence communautaire de modèle Baichuan 2. Le modèle Baichuan 2 est commercialement utile.
Si les conditions ci-dessus sont remplies, vous devez soumettre le matériel de candidature requis par le contrat de licence communautaire du modèle Baichuan 2 via l'adresse e-mail suivante [email protected]. Une fois l'examen approuvé, Baichuan vous accordera par la présente une licence de copyright commerciale non exclusive, globale, non transférable, non sous-estimable et révocable.
Pour citer notre travail, veuillez utiliser la référence suivante:
@article{baichuan2023baichuan2,
title={Baichuan 2: Open Large-scale Language Models},
author={Baichuan},
journal={arXiv preprint arXiv:2309.10305},
url={https://arxiv.org/abs/2309.10305},
year={2023}
}