
我們介紹
Latxa,一個大型語言模型的家庭,用於7至700億個參數。 LATXA基於Llama 2,我們繼續在包含430萬個文檔和4.2B代幣的新的巴斯克語料庫上進行預處理。解決巴斯克地區高質量基準的稀缺性,我們進一步介紹了4個多項選擇評估數據集:Eusposity,包括官方語言能力考試中的5,169個問題; Eusreading,包括352個閱讀理解問題; Eustrivia,包括5個知識領域的1,715個瑣事問題;和Eusexams,包括16,046個公眾考試中的問題。在我們廣泛的評估中,LATXA的表現優於以前的所有開放模型,我們比較較大的利潤率。此外,儘管在閱讀理解和知識密集型任務方面落後於語言水平和理解,但它與GPT-4 Turbo具有競爭力。 LATXA模型家族以及我們的新預讀庫和評估數據集都在公開許可下公開獲得。我們的套件可以對方法進行可重現的研究,以構建低資源語言的LLM。
使用下面的代碼開始模型。
from transformers import pipeline
pipe = pipeline ( "text-generation" , model = "HiTZ/latxa-7b-v1.1" )
text = "Euskara adimen artifizialera iritsi da!"
pipe ( text , max_new_tokens = 50 , num_beams = 5 )
>> [
{
'generated_text' : 'Euskara adimen artifizialera iritsi da! n Euskararen eta adimen artifizialaren arteko harremana aspaldikoa da,'
' baina azken urteotan aurrerapauso handiak eman dira arlo horretan'
}
]使用GPT-Neox的Cineca HPC Leonardo集群上的培訓模型代碼。如果您在另一個集群上訓練,則需要更新一些設置。如果您有任何疑問,請檢查GPT-Neox文檔。
訓練過程分為幾個步驟:加載所需的模塊,創建虛擬環境,安裝GPT-Neox,下載Llama型號,轉換檢查點,下載數據,預處理數據,定義培訓配置,設置WANDB,運行培訓,運行培訓並將Neox Checkpoints轉換為HF。
安裝GPT-Neox所需的模塊。您可以將其添加到.bashrc中,以便自動加載模塊:
module load profile/deeplrn
module load python/3.10.8--gcc--11.3.0
module load cuda/11.8
module load openmpi/4.1.4--gcc--11.3.0-cuda-11.8
module load zlib/1.2.13--gcc--11.3.0
module load git-lfs創建虛擬環境:
python -m venv $WORK /environments/neox-env激活虛擬環境。您可以將其添加到.bashrc中,以便自動激活虛擬環境:
source $WORK /environments/neox-env/bin/activate克隆存儲庫並安裝要求:
git clone https://github.com/EleutherAI/gpt-neox
cd gpt-neox安裝要求:
pip install -r requirements/requirements.txt
pip install -r requirements/requirements-wandb.txt
pip install -r requirements/requirements-flashattention.txt
python ./megatron/fused_kernels/setup.py install # optional, if using fused kernels 由於Leonardo群集沒有Internet連接,因此必須使用離線模式。更改默認的WandB配置目錄:
export WANDB_CONFIG_DIR= $HOME /.wandb登錄到Wandb:
wandb login將WandB更改為離線模式:
wandb offline日誌將保存到$WORK/gpt-neox/wandb目錄。
要將日誌同步到wandb,請運行:
wandb sync $WORK /gpt-neox/wandb從以下鏈接下載RAW LLAMA模型:
Llama-2-7b:https://huggingface.co/meta-llama/llama-2-7b
Llama-2-13b:https://huggingface.co/meta-llama/llama-2-13b
Llama-2-70b:https://huggingface.co/meta-llama/llama-2-70b
使用convert目錄中的腳本將RAW LLAMA模型轉換為Neox格式。
cd convert
bash convert_raw_llama_weights_to_neox_7b.sh
bash convert_raw_llama_weights_to_neox_13b.sh
bash convert_raw_llama_weights_to_neox_70b.sh從以下鏈接下載預處理數據:
euscrawl:https://huggingface.co/datasets/hitz/euscrawl
堆:https://huggingface.co/datasets/eleutherai/pile
latxa v1.1:https://huggingface.co/datasets/hitz/latxa-corpus-v1.1
使用preprocess目錄中可用腳本的預處理數據:
要預處理數據集,請運行bash preprocess_data_pile.sh 。
要預處理LATXA V1數據集,請運行bash preprocess_data_latxa-v1.sh 。
要預處理LATXA V1.1數據集,請運行bash preprocess_data_latxa-v1.1.sh 。
在configs目錄中定義培訓配置。您可以將現有配置用作模板。有兩個基本配置與所有模型共有,並包括諸如檢查點和記錄之類的詳細信息。第一個用於7B和13B型號,另一個用於70B型號。其他配置分為4個文件夾,具體取決於參數的類型:數據,深速,超參數和模型。
data :包含LATXA V1和V1.1的數據配置文件。deepspeed :包含零1的深速配置文件。hyperparameters :包含三種尺寸的LATXA V1和V1.1的HyperParameters配置文件。models :包含三個尺寸的模型配置文件。 使用train目錄中可用的腳本運行培訓。有三種尺寸的LATXA V1和V1.1型號的腳本。例如,要訓練latxa 7b v1.1,運行:
cd train/latxa-7b
bash llama-2-7b-v1.1.sh可以使用convert_neox_to_hf.py腳本將Neox檢查點轉換為HF。腳本以參數為輸入路徑,輸出路徑,模型配置,精度和體系結構。您可以在convert目錄中找到示例腳本。例如,要轉換LATXA 7B V1.1模型,請運行:
cd convert
bash convert_neox_to_hf_7b_v1.1.sh開放模型的評估腳本在scripts目錄中。 openai目錄包含用於評估OpenAI模型的腳本。評估結果在results目錄中。
您需要安裝LM評估安全帶。克隆存儲庫並安裝要求:
git clone https://github.com/EleutherAI/lm-evaluation-harness
cd lm-evaluation-harness
pip install -e . 要在開放模型上運行評估,請使用scripts目錄中的腳本。每個腳本都在所有任務中評估模型。例如,要在Latxa v1.1 7b上運行評估,請運行:
sbatch lm_eval_latxa-7b-v1.1.slurm評估結果在results目錄中。每個模型都有一個在每個任務中評估結果的目錄。結果以JSON文件的形式,每個任務中的平均分數。
要在OpenAI模型上運行評估,請在openai目錄中使用腳本。有一個Python腳本可以評估每個數據集,每個模型和數據集都有一個bash腳本。例如,要在Eustrivia上進行GPT-3.5 Turbo進行評估,請運行:
bash gpt-3.5-turbo-0125_eus_trivia.sh評估結果在results目錄中。每個模型都有一個在每個任務中評估結果的目錄。在這種情況下,為每個任務保存模型的所有輸出。可以使用correct字段計算得分。對於Eustrivia和Eusexams,還有其他腳本可以按類別獲得詳細的結果。例如,要在Eustrivia上獲得GPT-3.5 Turbo的詳細結果,請運行:
python calculate_accuracy_eus_trivia.py我們不斷更新和改進基本模型,本節涵蓋了我們所做的主要版本和更改。我們建議用戶始終使用可用的最新版本。
這項工作得到了巴斯克政府(Iker-Gaitu項目)的部分支持。它也得到了部長的支持,由歐盟 - 歐盟 - NextGenerationu資助的部長para latransformación數字y de lafunciónpública在該項目的框架內使用參考2022/tl22/00215335。這些模型在Cineca的Leonardo Supercuter培訓下,根據EUROHPC聯合企業EHPC-EXT-2023E01-013。
為了引用我們的工作,請使用:
@misc { etxaniz2024latxa ,
title = { Latxa: An Open Language Model and Evaluation Suite for Basque } ,
author = { Julen Etxaniz and Oscar Sainz and Naiara Perez and Itziar Aldabe and German Rigau and Eneko Agirre and Aitor Ormazabal and Mikel Artetxe and Aitor Soroa } ,
year = { 2024 } ,
eprint = { 2403.20266 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.CL }
}