Anglais | Chine
? Faire des câlins au visage • ? ModèlePortée • ? modèle sage
? Posez des questions ou discutez d'idées sur GitHub
Rejoignez-nous sur ? Discorde ou WeChat
Consultez le rapport Yi Tech
Développez-vous au Yi Learning Hub
? Apprenez sur le blog Yi Tech
? Les modèles de la série Yi constituent la prochaine génération de grands modèles de langage open source formés à partir de zéro par 01.AI.
? Ciblés comme modèle de langage bilingue et formés sur un corpus multilingue 3T, les modèles de la série Yi deviennent l'un des LLM les plus puissants au monde, se montrant prometteurs en matière de compréhension du langage, de raisonnement de bon sens, de compréhension écrite, et bien plus encore. Par exemple,
Le modèle Yi-34B-Chat a atterri à la deuxième place (après GPT-4 Turbo) , surpassant les autres LLM (tels que GPT-4, Mixtral, Claude) dans le classement AlpacaEval (sur la base des données disponibles jusqu'en janvier 2024).
Le modèle Yi-34B s'est classé premier parmi tous les modèles open source existants (tels que Falcon-180B, Llama-70B, Claude) en anglais et en chinois sur divers critères, notamment Hugging Face Open LLM Leaderboard (pré-entraîné) et C-Eval. (sur la base des données disponibles jusqu’en novembre 2023).
(Crédits à Llama) Merci aux communautés open source Transformer et Llama, car elles réduisent les efforts nécessaires pour construire à partir de zéro et permettent l'utilisation des mêmes outils au sein de l'écosystème d'IA.
TL;DR
Les modèles de la série Yi adoptent la même architecture de modèle que Llama mais ne sont PAS des dérivés de Llama.
Yi et Llama sont tous deux basés sur la structure Transformer, qui est l'architecture standard pour les grands modèles de langage depuis 2018.
Fondé sur l'architecture Transformer, Llama est devenu une nouvelle pierre angulaire pour la majorité des modèles open source de pointe en raison de son excellente stabilité, de sa convergence fiable et de sa compatibilité robuste. Cela positionne Llama comme le cadre fondateur reconnu pour les modèles incluant Yi.
Grâce aux architectures Transformer et Llama, d'autres modèles peuvent exploiter leur puissance, réduisant ainsi l'effort requis pour construire à partir de zéro et permettant l'utilisation des mêmes outils au sein de leurs écosystèmes.
Cependant, les modèles de la série Yi ne sont PAS des dérivés de Llama, car ils n'utilisent pas les poids de Llama.
Étant donné que la structure de Llama est utilisée par la majorité des modèles open source, les facteurs clés pour déterminer les performances du modèle sont les ensembles de données de formation, les pipelines de formation et l'infrastructure de formation.
En se développant de manière unique et exclusive, Yi a créé de manière indépendante ses propres ensembles de données de formation de haute qualité, des pipelines de formation efficaces et une infrastructure de formation robuste, entièrement à partir de zéro. Cet effort a conduit à d'excellentes performances avec les modèles de la série Yi se classant juste derrière GPT4 et surpassant Llama dans le classement Alpaca en décembre 2023.
[ Retour en haut ⬆️ ]
Yi-9B-200K
est open source et accessible au public.Yi-9B
est open source et accessible au public.Yi-9B
se distingue comme le plus performant parmi une gamme de modèles open source de taille similaire (notamment Mistral-7B, SOLAR-10.7B, Gemma-7B, DeepSeek-Coder-7B-Base-v1.5 et plus), excellant particulièrement en code, en mathématiques, en raisonnement de bon sens et en compréhension écrite.Yi-VL-34B
et Yi-VL-6B
, sont open source et accessibles au public.Yi-VL-34B
s'est classé premier parmi tous les modèles open source existants dans les derniers benchmarks, notamment MMMU et CMMMU (sur la base des données disponibles jusqu'en janvier 2024).Yi-34B-Chat
Yi-34B-Chat-4bits
Yi-34B-Chat-8bits
Yi-6B-Chat
Yi-6B-Chat-4bits
Yi-6B-Chat-8bits
Vous pouvez en essayer quelques-uns de manière interactive sur :
Yi-6B-200K
et Yi-34B-200K
, sont open source et disponibles au public.Yi-6B
et Yi-34B
, sont open source et disponibles au public.[ Retour en haut ⬆️ ]
Les modèles Yi sont disponibles en plusieurs tailles et répondent à différents cas d'utilisation. Vous pouvez également affiner les modèles Yi pour répondre à vos besoins spécifiques.
Si vous souhaitez déployer des modèles Yi, assurez-vous de respecter la configuration logicielle et matérielle requise.
Modèle | Télécharger |
---|---|
Yi-34B-Chat | • ? Faire des câlins au visage • ? ModèlePortée • ? modèle sage |
Yi-34B-Chat-4bits | • ? Faire des câlins au visage • ? ModèlePortée • ? modèle sage |
Yi-34B-Chat-8bits | • ? Faire des câlins au visage • ? ModèlePortée • ? modèle sage |
Yi-6B-Chat | • ? Faire des câlins au visage • ? ModèlePortée • ? modèle sage |
Yi-6B-Chat-4bits | • ? Faire des câlins au visage • ? ModèlePortée • ? modèle sage |
Yi-6B-Chat-8bits | • ? Faire des câlins au visage • ? ModèlePortée • ? modèle sage |
- Les modèles de la série 4 bits sont quantifiés par AWQ.
- Les modèles de la série 8 bits sont quantifiés par GPTQ
- Tous les modèles quantifiés ont une faible barrière à utiliser puisqu'ils peuvent être déployés sur des GPU grand public (par exemple, 3090, 4090).
Modèle | Télécharger |
---|---|
Yi-34B | • ? Faire des câlins au visage • ? ModèlePortée • ? modèle sage |
Yi-34B-200K | • ? Faire des câlins au visage • ? ModèlePortée • ? modèle sage |
Yi-9B | • ? Faire des câlins au visage • ? ModèlePortée • ? modèle sage |
Yi-9B-200K | • ? Faire des câlins au visage • ? ModèlePortée • ? modèle sage |
Yi-6B | • ? Faire des câlins au visage • ? ModèlePortée • ? modèle sage |
Yi-6B-200K | • ? Faire des câlins au visage • ? ModèlePortée • ? modèle sage |
- 200 000 équivaut à peu près à 400 000 caractères chinois.
- Si vous souhaitez utiliser la version précédente du Yi-34B-200K (sortie le 5 novembre 2023), exécutez git checkout 069cd341d60f4ce4b07ec394e82b79e94f656cf
pour télécharger le poids.
Modèle | Introduction | Fenêtre contextuelle par défaut | Jetons pré-entraînés | Date des données de formation |
---|---|---|---|---|
Modèles de la série 6B | Ils conviennent à un usage personnel et académique. | 4K | 3T | Jusqu'en juin 2023 |
Modèles de la série 9B | C'est le meilleur en matière de codage et de mathématiques dans les modèles de la série Yi. | Yi-9B est formé en continu sur la base de Yi-6B, en utilisant des jetons 0,8T. | ||
Modèles de la série 34B | Ils conviennent à des fins personnelles, académiques et commerciales (en particulier pour les petites et moyennes entreprises). Il s'agit d'une solution rentable, abordable et dotée de capacités émergentes. | 3T |
Pour les modèles de chat
Cependant, cette plus grande diversité pourrait amplifier certains problèmes existants, notamment :
[ Retour en haut ⬆️ ]
Astuce : Si vous souhaitez démarrer avec le modèle Yi et explorer différentes méthodes d'inférence, consultez le Yi Cookbook.
Sélectionnez l'un des chemins suivants pour commencer votre voyage avec Yi !
Si vous préférez déployer des modèles Yi localement,
?♀️ et vous disposez de ressources suffisantes (par exemple, NVIDIA A800 80 Go), vous pouvez choisir l'une des méthodes suivantes :
?♀️ et vous disposez de ressources limitées (par exemple, un MacBook Pro), vous pouvez utiliser lama.cpp.
Si vous préférez ne pas déployer de modèles Yi localement, vous pouvez explorer les fonctionnalités de Yi à l'aide de l'une des options suivantes.
Si vous souhaitez explorer plus de fonctionnalités de Yi, vous pouvez adopter l'une de ces méthodes :
API Yi (officiel Yi)
API Yi (réplication)
Si vous souhaitez discuter avec Yi avec des options plus personnalisables (par exemple, invite du système, température, pénalité de répétition, etc.), vous pouvez essayer l'une des options suivantes :
Yi-34B-Chat-Playground (officiel Yi)
Yi-34B-Chat-Playground (réplique)
Si vous souhaitez discuter avec Yi, vous pouvez utiliser l'un de ces services en ligne, qui offrent une expérience utilisateur similaire :
Yi-34B-Chat (officiel Yi sur Hugging Face)
Yi-34B-Chat (bêta officielle de Yi)
[ Retour en haut ⬆️ ]
Ce didacticiel vous guide à travers chaque étape de l'exécution locale de Yi-34B-Chat sur un A800 (80G) , puis de l'inférence.
Assurez-vous que Python 3.10 ou une version ultérieure est installé.
Si vous souhaitez exécuter d'autres modèles Yi, consultez la configuration logicielle et matérielle requise.
Pour configurer l'environnement et installer les packages requis, exécutez la commande suivante.
git clone https://github.com/01-ai/Yi.git
cd yi
pip install -r requirements.txt
Vous pouvez télécharger les poids et le tokenizer des modèles Yi à partir des sources suivantes :
Vous pouvez effectuer une inférence avec le chat Yi ou des modèles de base comme ci-dessous.
Créez un fichier nommé quick_start.py
et copiez-y le contenu suivant.
from transformers import AutoModelForCausalLM , AutoTokenizer
model_path = ''
tokenizer = AutoTokenizer . from_pretrained ( model_path , use_fast = False )
# Since transformers 4.35.0, the GPT-Q/AWQ model can be loaded using AutoModelForCausalLM.
model = AutoModelForCausalLM . from_pretrained (
model_path ,
device_map = "auto" ,
torch_dtype = 'auto'
). eval ()
# Prompt content: "hi"
messages = [
{ "role" : "user" , "content" : "hi" }
]
input_ids = tokenizer . apply_chat_template ( conversation = messages , tokenize = True , add_generation_prompt = True , return_tensors = 'pt' )
output_ids = model . generate ( input_ids . to ( 'cuda' ))
response = tokenizer . decode ( output_ids [ 0 ][ input_ids . shape [ 1 ]:], skip_special_tokens = True )
# Model response: "Hello! How can I assist you today?"
print ( response )
Exécutez quick_start.py
.
python quick_start.py
Ensuite, vous pouvez voir une sortie similaire à celle ci-dessous. ?
Hello ! How can I assist you today ?
Yi-34B
Les étapes sont similaires à pip - Effectuer une inférence avec le modèle de chat Yi.
Vous pouvez utiliser le fichier existant text_generation.py
.
python demo/text_generation.py --model < your-model-path >
Ensuite, vous pouvez voir une sortie similaire à celle ci-dessous. ?
Invite : Laissez-moi vous raconter une histoire intéressante sur le chat Tom et la souris Jerry,
Génération : Laissez-moi vous raconter une histoire intéressante sur le chat Tom et la souris Jerry, qui s'est produite dans mon enfance. Mon père avait une grande maison avec deux chats qui vivaient à l'intérieur pour tuer les souris. Un jour, alors que je jouais seul à la maison, j'ai trouvé un des matous allongé sur le dos près de la porte de notre cuisine, il avait vraiment l'air de vouloir quelque chose de nous mais il ne pouvait pas se lever parce qu'il y avait trop de monde autour de lui ! Il a continué à essayer pendant plusieurs minutes avant de finalement abandonner...
Yi-9B
Saisir
from transformers import AutoModelForCausalLM, AutoTokenizer
MODEL_DIR = " 01-ai/Yi-9B "
model = AutoModelForCausalLM.from_pretrained(MODEL_DIR, torch_dtype= " auto " )
tokenizer = AutoTokenizer.from_pretrained(MODEL_DIR, use_fast=False)
input_text = " # write the quick sort algorithm "
inputs = tokenizer(input_text, return_tensors= " pt " ).to(model.device)
outputs = model.generate( ** inputs, max_length=256)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Sortir
# write the quick sort algorithm
def quick_sort(arr):
if len(arr) < = 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
# test the quick sort algorithm
print(quick_sort([3, 6, 8, 10, 1, 2, 1]))
[ Retour en haut ⬆️ ]
Assurez-vous d'avoir installé Docker et nvidia-container-toolkit.
docker run -it --gpus all
-v : /models
ghcr.io/01-ai/yi:latest
Vous pouvez également extraire l'image Yi Docker de registry.lingyiwanwu.com/ci/01-ai/yi:latest
.
Vous pouvez effectuer une inférence avec le chat Yi ou des modèles de base comme ci-dessous.
Les étapes sont similaires à pip - Effectuer une inférence avec le modèle de chat Yi.
Notez que la seule différence est de définir model_path = '
au lieu de model_path = '
.
Les étapes sont similaires à pip - Effectuer une inférence avec le modèle de base Yi.
Notez que la seule différence est de définir --model
au lieu de model
.
conda-lock
pour générer des fichiers de verrouillage entièrement reproductibles pour les environnements conda.micromamba
pour installer ces dépendances.Installez micromamba en suivant les instructions disponibles ici.
Exécutez micromamba install -y -n yi -f conda-lock.yml
pour créer un environnement conda nommé yi
et installez les dépendances nécessaires.
Le didacticiel suivant vous guidera à travers chaque étape de l'exécution locale d'un modèle quantifié (Yi-chat-6B-2bits), puis de l'inférence.
Ce didacticiel suppose que vous utilisez un MacBook Pro avec 16 Go de mémoire et une puce Apple M2 Pro.
Assurez-vous git-lfs
est installé sur votre machine.
llama.cpp
Pour cloner le référentiel llama.cpp
, exécutez la commande suivante.
git clone [email protected]:ggerganov/llama.cpp.git
2.1 Pour cloner XeIaso/yi-chat-6B-GGUF avec uniquement des pointeurs, exécutez la commande suivante.
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/XeIaso/yi-chat-6B-GGUF
2.2 Pour télécharger un modèle Yi quantifié (yi-chat-6b.Q2_K.gguf), exécutez la commande suivante.
git-lfs pull --include yi-chat-6b.Q2_K.gguf
Pour effectuer une inférence avec le modèle Yi, vous pouvez utiliser l'une des méthodes suivantes.
Méthode 1 : effectuer une inférence dans le terminal
Méthode 2 : effectuer une inférence sur le Web
Pour compiler llama.cpp
à l'aide de 4 threads, puis effectuer une inférence, accédez au répertoire llama.cpp
et exécutez la commande suivante.
Conseils
Remplacez
/Users/yu/yi-chat-6B-GGUF/yi-chat-6b.Q2_K.gguf
par le chemin réel de votre modèle.Par défaut, le modèle fonctionne en mode complétion.
Pour des options de personnalisation de sortie supplémentaires (par exemple, invite système, température, pénalité de répétition, etc.), exécutez
./main -h
pour vérifier les descriptions détaillées et l'utilisation.
make -j4 && ./main -m /Users/yu/yi-chat-6B-GGUF/yi-chat-6b.Q2_K.gguf -p " How do you feed your pet fox? Please answer this question in 6 simple steps:nStep 1: " -n 384 -e
...
How do you feed your pet fox ? Please answer this question in 6 simple steps:
Step 1: Select the appropriate food for your pet fox. You should choose high-quality, balanced prey items that are suitable for their unique dietary needs. These could include live or frozen mice, rats, pigeons, or other small mammals, as well as fresh fruits and vegetables.
Step 2: Feed your pet fox once or twice a day, depending on the species and its individual preferences. Always ensure that they have access to fresh water throughout the day.
Step 3: Provide an appropriate environment for your pet fox. Ensure it has a comfortable place to rest, plenty of space to move around, and opportunities to play and exercise.
Step 4: Socialize your pet with other animals if possible. Interactions with other creatures can help them develop social skills and prevent boredom or stress.
Step 5: Regularly check for signs of illness or discomfort in your fox. Be prepared to provide veterinary care as needed, especially for common issues such as parasites, dental health problems, or infections.
Step 6: Educate yourself about the needs of your pet fox and be aware of any potential risks or concerns that could affect their well-being. Regularly consult with a veterinarian to ensure you are providing the best care.
...
Vous avez maintenant posé avec succès une question au modèle Yi et obtenu une réponse ! ?
Pour initialiser un chatbot léger et rapide, exécutez la commande suivante.
cd llama.cpp
./server --ctx-size 2048 --host 0.0.0.0 --n-gpu-layers 64 --model /Users/yu/yi-chat-6B-GGUF/yi-chat-6b.Q2_K.gguf
Ensuite, vous pouvez obtenir un résultat comme celui-ci :
...
llama_new_context_with_model: n_ctx = 2048
llama_new_context_with_model: freq_base = 5000000.0
llama_new_context_with_model: freq_scale = 1
ggml_metal_init: allocating
ggml_metal_init: found device: Apple M2 Pro
ggml_metal_init: picking default device: Apple M2 Pro
ggml_metal_init: ggml.metallib not found, loading from source
ggml_metal_init: GGML_METAL_PATH_RESOURCES = nil
ggml_metal_init: loading ' /Users/yu/llama.cpp/ggml-metal.metal '
ggml_metal_init: GPU name: Apple M2 Pro
ggml_metal_init: GPU family: MTLGPUFamilyApple8 (1008)
ggml_metal_init: hasUnifiedMemory = true
ggml_metal_init: recommendedMaxWorkingSetSize = 11453.25 MB
ggml_metal_init: maxTransferRate = built-in GPU
ggml_backend_metal_buffer_type_alloc_buffer: allocated buffer, size = 128.00 MiB, ( 2629.44 / 10922.67)
llama_new_context_with_model: KV self size = 128.00 MiB, K (f16): 64.00 MiB, V (f16): 64.00 MiB
ggml_backend_metal_buffer_type_alloc_buffer: allocated buffer, size = 0.02 MiB, ( 2629.45 / 10922.67)
llama_build_graph: non-view tensors processed: 676/676
llama_new_context_with_model: compute buffer total size = 159.19 MiB
ggml_backend_metal_buffer_type_alloc_buffer: allocated buffer, size = 156.02 MiB, ( 2785.45 / 10922.67)
Available slots:
- > Slot 0 - max context: 2048
llama server listening at http://0.0.0.0:8080
Pour accéder à l'interface du chatbot, ouvrez votre navigateur Web et saisissez http://0.0.0.0:8080
dans la barre d'adresse.
Entrez une question, telle que « Comment nourrir votre renard de compagnie ? Veuillez répondre à cette question en 6 étapes simples » dans la fenêtre d'invite, et vous recevrez une réponse correspondante.
[ Retour en haut ⬆️ ]
Vous pouvez créer une démo d'interface utilisateur Web pour les modèles de chat Yi (notez que les modèles de base Yi ne sont pas pris en charge dans ce scénario).
Étape 1 : Préparez votre environnement.
Étape 2 : Téléchargez le modèle Yi.
Étape 3. Pour démarrer un service Web localement, exécutez la commande suivante.
python demo/web_demo.py -c < your-model-path >
Vous pouvez accéder à l'interface utilisateur Web en saisissant l'adresse fournie dans la console dans votre navigateur.
[ Retour en haut ⬆️ ]
bash finetune/scripts/run_sft_Yi_6b.sh
Une fois terminé, vous pouvez comparer le modèle affiné et le modèle de base avec la commande suivante :
bash finetune/scripts/run_eval.sh
Par défaut, nous utilisons un petit ensemble de données de BAAI/COIG pour affiner le modèle de base. Vous pouvez également préparer votre ensemble de données personnalisé au format jsonl
suivant :
{ "prompt" : " Human: Who are you? Assistant: " , "chosen" : " I'm Yi. " }
Et puis montez-les dans le conteneur pour remplacer ceux par défaut :
docker run -it
-v /path/to/save/finetuned/model/:/finetuned-model
-v /path/to/train.jsonl:/yi/finetune/data/train.json
-v /path/to/eval.jsonl:/yi/finetune/data/eval.json
ghcr.io/01-ai/yi:latest
bash finetune/scripts/run_sft_Yi_6b.sh
Assurez-vous d'avoir conda. Sinon, utilisez
mkdir -p ~ /miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~ /miniconda3/miniconda.sh
bash ~ /miniconda3/miniconda.sh -b -u -p ~ /miniconda3
rm -rf ~ /miniconda3/miniconda.sh
~ /miniconda3/bin/conda init bash
source ~ /.bashrc
Ensuite, créez un environnement conda :
conda create -n dev_env python=3.10 -y
conda activate dev_env
pip install torch==2.0.1 deepspeed==0.10 tensorboard transformers datasets sentencepiece accelerate ray==2.7
Pour le modèle Yi-6B, un nœud avec 4 GPU, chacun avec une mémoire GPU supérieure à 60 Go, est recommandé.
Pour le modèle Yi-34B, étant donné que l'utilisation de la technique du zéro déchargement consomme beaucoup de mémoire CPU, veillez à limiter le nombre de GPU dans l'entraînement de réglage fin du 34B. Veuillez utiliser CUDA_VISIBLE_DEVICES pour limiter le nombre de GPU (comme indiqué dans scripts/run_sft_Yi_34b.sh).
Une configuration matérielle typique pour affiner le modèle 34B est un nœud avec 8 GPU (limités à 4 en cours d'exécution par CUDA_VISIBLE_DEVICES=0,1,2,3), chacun avec une mémoire GPU supérieure à 80 Go et une mémoire CPU totale supérieure à 900 Go.
Téléchargez un modèle de base LLM sur MODEL_PATH (6B et 34B). Un dossier typique de modèles ressemble à :
| -- $MODEL_PATH
| | -- config.json
| | -- pytorch_model-00001-of-00002.bin
| | -- pytorch_model-00002-of-00002.bin
| | -- pytorch_model.bin.index.json
| | -- tokenizer_config.json
| | -- tokenizer.model
| | -- ...
Téléchargez un ensemble de données de huggingface vers le stockage local DATA_PATH, par exemple Dahoas/rm-static.
| -- $DATA_PATH
| | -- data
| | | -- train-00000-of-00001-2a1df75c6bce91ab.parquet
| | | -- test-00000-of-00001-8c7c51afc6d45980.parquet
| | -- dataset_infos.json
| | -- README.md
finetune/yi_example_dataset
contient des exemples d'ensembles de données, qui sont modifiés à partir de BAAI/COIG
| -- $DATA_PATH
| --data
| -- train.jsonl
| -- eval.jsonl
cd
dans le dossier scripts, copiez et collez le script et exécutez. Par exemple:
cd finetune/scripts
bash run_sft_Yi_6b.sh
Pour le modèle de base Yi-6B, définir training_debug_steps=20 et num_train_epochs=4 peut générer un modèle de discussion, ce qui prend environ 20 minutes.
Pour le modèle de base Yi-34B, l'initialisation prend un temps relativement long. S'il vous plaît soyez patient.
cd finetune/scripts
bash run_eval.sh
Ensuite, vous verrez la réponse du modèle de base et du modèle affiné.
[ Retour en haut ⬆️ ]
python quantization/gptq/quant_autogptq.py
--model /base_model
--output_dir /quantized_model
--trust_remote_code
Une fois terminé, vous pouvez ensuite évaluer le modèle résultant comme suit :
python quantization/gptq/eval_quantized_model.py
--model /quantized_model
--trust_remote_code
GPT-Q est une méthode PTQ (Post-Training Quantization). Il économise de la mémoire et offre des accélérations potentielles tout en conservant la précision du modèle.
Les modèles Yi peuvent être quantifiés GPT-Q sans trop d'efforts. Nous proposons un didacticiel étape par étape ci-dessous.
Pour exécuter GPT-Q, nous utiliserons AutoGPTQ et exllama. Et les transformateurs Huggingface ont intégré Optima et Auto-Gptq pour effectuer la quantification GPTQ sur les modèles de langage.
Le script quant_autogptq.py
vous est fourni pour effectuer la quantification GPT-Q :
python quant_autogptq.py --model /base_model
--output_dir /quantized_model --bits 4 --group_size 128 --trust_remote_code
Vous pouvez exécuter un modèle quantifié à l'aide de eval_quantized_model.py
:
python eval_quantized_model.py --model /quantized_model --trust_remote_code
python quantization/awq/quant_autoawq.py
--model /base_model
--output_dir /quantized_model
--trust_remote_code
Une fois terminé, vous pouvez ensuite évaluer le modèle résultant comme suit :
python quantization/awq/eval_quantized_model.py
--model /quantized_model
--trust_remote_code
AWQ est une méthode PTQ (Post-Training Quantization). Il s'agit d'une quantification efficace et précise à faible poids (INT3/4) pour les LLM.
Les modèles Yi peuvent être quantifiés AWQ sans trop d'efforts. Nous proposons un didacticiel étape par étape ci-dessous.
Pour exécuter AWQ, nous utiliserons AutoAWQ.
Le script quant_autoawq.py
vous est fourni pour effectuer la quantification AWQ :
python quant_autoawq.py --model /base_model
--output_dir /quantized_model --bits 4 --group_size 128 --trust_remote_code
Vous pouvez exécuter un modèle quantifié à l'aide de eval_quantized_model.py
:
python eval_quantized_model.py --model /quantized_model --trust_remote_code
[ Retour en haut ⬆️ ]
Si vous souhaitez déployer des modèles Yi, assurez-vous de respecter la configuration logicielle et matérielle requise.
Avant d'utiliser les modèles quantifiés Yi, assurez-vous d'avoir installé le logiciel approprié répertorié ci-dessous.
Modèle | Logiciel |
---|---|
Modèles quantifiés Yi 4 bits | AWQ et CUDA |
Modèles quantifiés Yi 8 bits | GPTQ et CUDA |
Avant de déployer Yi dans votre environnement, assurez-vous que votre matériel répond aux exigences suivantes.
Modèle | VRAM minimale | Exemple de GPU recommandé |
---|---|---|
Yi-6B-Chat | 15 Go | 1 x RTX 3090 (24 Go) 1 RTX 4090 (24 Go) 1 x A10 (24 Go) 1 x A30 (24 Go) |
Yi-6B-Chat-4bits | 4 Go | 1 RTX 3060 (12 Go) 1 x RTX 4060 (8 Go) |
Yi-6B-Chat-8bits | 8 Go | 1 RTX 3070 (8 Go) 1 x RTX 4060 (8 Go) |
Yi-34B-Chat | 72 Go | 4 RTX 4090 (24 Go) 1 x A800 (80 Go) |
Yi-34B-Chat-4bits | 20 Go | 1 x RTX 3090 (24 Go) 1 x RTX 4090 (24 Go) 1 x A10 (24 Go) 1 x A30 (24 Go) 1 x A100 (40 Go) |
Yi-34B-Chat-8bits | 38 Go | 2 RTX 3090 (24 Go) 2 RTX 4090 (24 Go) 1 x A800 (40 Go) |
Vous trouverez ci-dessous les exigences minimales détaillées en matière de VRAM pour différents cas d'utilisation par lots.
Modèle | lot = 1 | lot = 4 | lot = 16 | lot = 32 |
---|---|---|---|---|
Yi-6B-Chat | 12 Go | 13 Go | 15 Go | 18 Go |
Yi-6B-Chat-4bits | 4 Go | 5 Go | 7 Go | 10 Go |
Yi-6B-Chat-8bits | 7 Go | 8 Go | 10 Go | 14 Go |
Yi-34B-Chat | 65 Go | 68 Go | 76 Go | > 80 Go |
Yi-34B-Chat-4bits | 19 Go | 20 Go | 30 Go | 40 Go |
Yi-34B-Chat-8bits | 35 Go | 37 Go | 46 Go | 58 Go |
Modèle | VRAM minimale | Exemple de GPU recommandé |
---|---|---|
Yi-6B | 15 Go | 1 x RTX 3090 (24 Go) 1 x RTX 4090 (24 Go) 1 x A10 (24 Go) 1 x A30 (24 Go) |
Yi-6B-200K | 50 Go | 1 x A800 (80 Go) |
Yi-9B | 20 Go | 1 RTX 4090 (24 Go) |
Yi-34B | 72 Go | 4 RTX 4090 (24 Go) 1 x A800 (80 Go) |
Yi-34B-200K | 200 Go | 4 x A800 (80 Go) |
[ Retour en haut ⬆️ ]
Yi-34B
et Yi-34B-Chat
se résume à l'approche et aux résultats du réglage fin.Yi-34B
pourrait être votre solution.Yi-34B-Chat
pourrait être votre meilleur choix. Où puis-je trouver des ensembles de données de réponse aux questions pour affiner les résultats ?
Quelle est la mémoire GPU requise pour le réglage fin du Yi-34B FP16 ?
La mémoire GPU nécessaire au réglage fin du 34B FP16 dépend de la méthode de réglage précis utilisée. Pour un réglage complet des paramètres, vous aurez besoin de 8 GPU de 80 Go chacun ; cependant, des solutions plus économiques comme Lora nécessitent moins. Pour plus de détails, consultez hiyouga/LLaMA-Factory. Pensez également à utiliser BF16 au lieu de FP16 pour un réglage fin afin d'optimiser les performances.
Existe-t-il des plates-formes tierces prenant en charge la fonctionnalité de chat pour le modèle Yi-34b-200k ?
Si vous recherchez des discussions tierces, les options incluent fireworks.ai.
Bienvenue dans le centre d'apprentissage Yi !
Que vous soyez un développeur chevronné ou un nouveau venu, vous pouvez trouver une multitude de ressources pédagogiques utiles pour améliorer votre compréhension et vos compétences avec les modèles Yi, notamment des articles de blog perspicaces, des didacticiels vidéo complets, des guides pratiques, et bien plus encore.
Le contenu que vous trouvez ici a été généreusement contribué par des experts Yi compétents et des passionnés passionnés. Nous vous exprimons notre sincère gratitude pour vos précieuses contributions !
Dans le même temps, nous vous invitons également chaleureusement à vous joindre à notre effort de collaboration en contribuant à Yi. Si vous avez déjà contribué à Yi, n'hésitez pas à présenter votre travail remarquable dans le tableau ci-dessous.
Avec toutes ces ressources à portée de main, vous êtes prêt à commencer votre voyage passionnant avec Yi. Bon apprentissage ! ?
Livrable | Date | Auteur |
---|---|---|
使用 Dify、Meilisearch、零一万物模型实现最简单的 RAG 应用(三):AI 电影推荐 | 2024-05-20 | 洋 |
使用autodl服务器,在A40显卡上运行, Yi-34B-Chat-int4模型,并使用vllm优化加速,显存占用42G,速度18 mots-s | 2024-05-20 | voler-iot |
Yi-VL 最佳实践 | 2024-05-20 | ModèlePortée |
一键运行零一万物新鲜出炉Yi-1.5-9B-Chat | 2024-05-13 | Deuxième État |
Version améliorée du Yi-1.5 | 2024-05-13 | 刘聪 |
34B-9B-6B est un modèle Yi-1.5. | 2024-05-13 | ModèlePortée |
Yi-34B | 2024-05-13 | 漆妮妮 |
驾辰龙跨Llama持Wasm,玩转Yi模型迎新春过大年(上) | 2024-05-13 | Des mots qui valent |
驾辰龙跨Llama持Wasm,玩转Yi模型迎新春过大年(下篇) | 2024-05-13 | Des mots qui valent |
Ollama 新增两个命令,开始支持零一万物Yi-1.5系列模型 | 2024-05-13 | AI 工程师笔记 |
使用零一万物 200K 模型和 Dify 快速搭建模型应用 | 2024-05-13 | 洋 |
(持更) Le modèle Yi-34B est le modèle Yi-34B. | 2024-05-13 | 洋 |
Python+ERNIE-4.0-8K-Yi-34B-Chat | 2024-05-11 | 江湖评谈 |
La version Python de Vue et Python est dotée d'une invite rapide. | 2024-05-11 | MumuLab |
多模态大模型Yi-VL-plus体验 效果很棒 | 2024-04-27 | 大家好我是爱因 |
Mots-clés : Autodl | 2024-04-27 | voler-iot |
Premiers pas avec Yi-1.5-9B-Chat | 2024-04-27 | Deuxième État |
Yi-vl-plus | 2024-04-24 | 正经人王同学 |
【IA :语言】一、Yi-34B超大模型本地部署CPU et GPU版 | 2024-04-21 | Mon appareil photo |
【Yi-34B-Chat-Int4】使用4个2080Ti显卡11G版本,运行Yi-34B模型,5年前老显卡是支持的,可以正常运行,速度 21 mots -s,vllm要求算力在7以上的显卡就可以 | 2024-03-22 | voler-iot |
零一万物大模型部署+微调总结 | 2024-03-22 | v_wus |
Logiciel Yi-34B pour Yi-6bchat | 2024-03-02 | 郝铠锋 |
Yi-34B | 2024-03-02 | lsjlnd |
Le nom de Yi-VL est "识图吃瓜" | 2024-02-02 | 洋 |
零一万物开源Yi-VL多模态大模型,魔搭社区推理&微调最佳实践来啦! | 2024-01-26 | ModèlePortée |
单卡 3 小时训练 Yi-6B 大模型 Agent:基于 Llama Factory 实战 | 2024-01-22 | 郑耀威 |
Commentaires sur Yi-34B Chat | 2024-01-15 | 要养家的程序员 |
Agent de l'usine LLaMA | 2024-01-15 | 机器学习社区 |
Avion 3080ti pour Yi-34B Avion - Gradio + vLLM | 2024-01-02 | 漆妮妮 |
【大模型部署实践-3】3个能在3090上跑起来的4bits量化Chat模型(baichuan2-13b、InternLM-20b、Yi-34b) | 2024-01-02 | aq_Seabiscuit |
只需 24G 显存,用 vllm 跑起来 Yi-34B | 2023-12-28 | 漆妮妮 |
Le Yi-34B est équipé d'un chargeur Docker 200K 34B pour 70B 模型, 34B pour 70B, 34B pour 70B pour 70B行不行? | 2023-12-28 | 代码讲故事 |
LLM - Avion Yi-34B pour LoRA | 2023-12-18 | BIT_666 |
通过vllm框架进行大模型推理 | 2023-12-18 | 土山炮 |
Processeur CPU | 2023-12-12 | 洋 |
Le modèle Yi-34B est le modèle Yi-34B. | 2023-12-10 | 洋 |
Exécuter Yi-34B-Chat localement en utilisant LlamaEdge | 2023-11-30 | Deuxième État |
本地运行零一万物 34B 大模型,使用 Llama.cpp & 21G 显存 | 2023-11-26 | 洋 |
Livrable | Date | Auteur |
---|---|---|
yi-openai-proxy | 2024-05-11 | 洋 |
基于零一万物 Yi 模型和 B 站构建大语言模型高质量训练数据集 | 2024-04-29 | 正经人王同学 |
基于视频网站和零一万物大模型构建大语言模型高质量训练数据集 | 2024-04-25 | 正经人王同学 |
基于零一万物yi-34b-chat-200k输入任意文章地址,点击按钮即可生成无广告或推广内容的简要笔记,并生成分享图给好友 | 2024-04-24 | 正经人王同学 |
Modèle Food-GPT-Yi | 2024-04-21 | Hubert S. |
Livrable | Date | Auteur |
---|---|---|
Exécutez Dolphin-2.2-yi-34b sur les appareils IoT | 2023-11-30 | Deuxième État |
只需 24G 显存,用 vllm 跑起来 Yi-34B | 2023-12-28 | 漆妮妮 |
Installer Yi 34B localement - LLM bilingue chinois anglais | 2023-11-05 | Fahd Mirza |
Dolphin Yi 34b - Tout nouveau modèle fondamental TESTÉ | 2023-11-27 | Matthieu Berman |
Yi-VL-34B Avions de chasse - Avions A40 | 2024-01-28 | 漆妮妮 |
Modèle 4060Ti 16G pour modèles Yi-1.5 | 2024-05-14 | titan909 |
Yi-1.5 : véritable concurrent d'Apache 2.0 à LAMA-3 | 2024-05-13 | Ingénierie rapide |
Installer le modèle Yi-1.5 localement - Beats Llama 3 dans divers benchmarks | 2024-05-13 | Fahd Mirza |
comment installer Ollama et exécuter Yi 6B | 2024-05-13 | Ridaa Davids |
Version AI : llama3_70B+Yi_34B+Qwen1.5_110B | 2024-05-04 | 朱扎特 |
ChatDoc学术论文辅助--基于Yi-34B etlangchain进行PDF知识库问答 | 2024-05-03 | 朱扎特 |
Le Yi-34B est un avion de chasse. | 2024-05-02 | 朱扎特 |
Les modèles RTX4090+GaLore et les modèles Yi-6B | 2024-03-24 | 小工蚂创始人 |
Logiciel NSFW pour Yi-34B-Chat, RolePlay, jeux de rôle, processeurs GPU et CPU | 2024-03-20 | 刘悦的技术博客 |
Les systèmes NSFW et les systèmes de communication, Yi-34B-Chat, CPU et processeurs | 2024-03-16 | 刘悦的技术博客 |
Modèle Yi-34B-Chat avec RTX 4090 et vLLM | 2024-03-05 | 白鸽巢 |
Yi-VL-34B(5):使用3个3090显卡24G版本,运行Yi-VL-34B模型,支持命令行和web界面方式,理解图片的内容转换成文字 | 2024-02-27 | voler-iot |
Win环境KoboldCpp本地色扮演游戏 | 2024-02-25 | 魚蟲蟲 |
无需显卡本地部署Yi-34B-Chat进行角色扮演游戏 P2 | 2024-02-23 | 魚蟲蟲 |
【wails】(2):使用go-llama.cpp 运行 yi-01-6b大模型,使用本地CPU运行,速度还可以,等待下一版本更新 | 2024-02-20 | voler-iot |
【xinference】(6):在autodl上,使用xinference部署yi-vl-chat et qwen-vl-chat模型,可以使用openai调用成功 | 2024-02-06 | voler-iot |
无需显卡本地部署Yi-34B-Chat进行角色扮演游戏 P1 | 2024-02-05 | 魚蟲蟲 |
2080Ti部署YI-34B大模型xinference-oneapi-fastGPT本地知识库使用指南 | 2024-01-30 | 小饭护法要转码 |
Meilleur modèle d'IA d'écriture d'histoire - Installez Yi 6B 200K localement sur Windows | 2024-01-22 | Fahd Mirza |
Mac 本地运行大语言模型方法与常见问题指南(Yi 34B 模型+32 GB 内存测试) | 2024-01-21 | 小吴苹果机器人 |
【Dify知识库】(11):Dify0.4.9 pour MySQL, avec yi-6b, avec fastchat et avec 8G置 | 2024-01-21 | voler-iot |
这位LLM先生有点暴躁,用的是YI-6B的某个量化版,#LLM #大语言模型 #暴躁老哥 | 2024-01-20 | 晓漫吧 |
Système d'exploitation NvLink pour systèmes d'exploitation A6000 | 2024-01-17 | 漆妮妮 |
Comparatif A40 vs A6000 - Comparatif Yi-34B | 2024-01-15 | 漆妮妮 |
C-Eval 大语言模型评测基准- 用 Harnais d'évaluation LM + vLLM 跑起来 | 2024-01-11 | 漆妮妮 |
Avion Yi-34B - vLLM + Gradio | 2024-01-01 | 漆妮妮 |
手把手教学!使用 vLLM 快速部署 Yi-34B-Chat | 2023-12-26 | 白鸽巢 |
如何训练企业自己的大语言模型?Yi-6B LORA微调演示 #小工蚁 | 2023-12-21 | 小工蚂创始人 |
YI-34B (4): : 使用 4 个 2080ti 显卡 11G 版本 , 运行 YI-34B 模型 , 5 年前老显卡是支持的 , 可以正常运行 , 速度 21 mots / s | 2023-12-02 | mouche à mouche |
使用 Autodl 服务器 , RTX 3090 * 3 显卡上运行 , YI-34B-CHAT 模型 , 显存占用 60G | 2023-12-01 | mouche à mouche |
使用 Autodl 服务器 , 两个 3090 显卡上运行 , YI-34B-CHAT-Int4 模型 , 用 VllM 优化 , 增加 --num-gpu 2 , 速度 23 mots / s | 2023-12-01 | mouche à mouche |
Yi 大模型一键本地部署 技术小白玩转 ai | 2023-12-01 | 技术小白玩转 AI |
01.AI'S YI-6B: Présentation et réglage fin | 2023-11-28 | AI Makerspace |
Yi 34b Chat LLM Overperforms Llama 70b | 2023-11-27 | Dlexplorer |
Comment exécuter des modèles open source sur Mac Yi 34b sur M3 Max | 2023-11-26 | TECHNO Premium |
YI-34B - 200K - Le meilleur et nouveau King de fenêtre de contexte | 2023-11-24 | Ingénierie rapide |
Yi 34b: la montée des puissants modèles de taille moyenne - base, 200k et chat | 2023-11-24 | Sam Witteveen |
在 IoT 设备运行破解版李开复大模型 Dolphin-2.2-YI-34B (还可作为私有 API OpenAI 服务器)) | 2023-11-15 | Deuxième état |
Exécutez Dolphin-2.2-YI-34B sur les appareils IoT (fonctionne également comme un serveur API OpenAI privé) | 2023-11-14 | Deuxième état |
Comment installer yi 34b 200k llamafied sur ordinateur portable Windows | 2023-11-11 | Fahd Mirza |
Yi a un écosystème complet, offrant une gamme d'outils, de services et de modèles pour enrichir vos expériences et maximiser la productivité.
Les modèles de la série YI suivent la même architecture de modèle que Llama. En choisissant YI, vous pouvez tirer parti des outils, des bibliothèques et des ressources existants au sein de l'écosystème de lama, éliminant la nécessité de créer de nouveaux outils et d'améliorer l'efficacité du développement.
Par exemple, les modèles de la série YI sont enregistrés dans le format du modèle LLAMA. Vous pouvez utiliser directement LlamaForCausalLM
et LlamaTokenizer
pour charger le modèle. Pour plus d'informations, voir Utiliser le modèle de chat.
from transformers import AutoModelForCausalLM , AutoTokenizer
tokenizer = AutoTokenizer . from_pretrained ( "01-ai/Yi-34b" , use_fast = False )
model = AutoModelForCausalLM . from_pretrained ( "01-ai/Yi-34b" , device_map = "auto" )
[Retour en haut ⬆️]
Conseil
N'hésitez pas à créer un RP et à partager le travail fantastique que vous avez construit en utilisant les modèles YI Series.
Pour aider les autres à comprendre rapidement votre travail, il est recommandé d'utiliser le format de
.
: +
Si vous souhaitez vous lever avec Yi dans quelques minutes, vous pouvez utiliser les services suivants construits sur YI.
YI-34B-CHAT: Vous pouvez discuter avec YI en utilisant l'une des plates-formes suivantes:
YI-6B-CHAT (Réplication): Vous pouvez utiliser ce modèle avec plus d'options en définissant des paramètres supplémentaires et en appelant des API.
Scalellm: Vous pouvez utiliser ce service pour exécuter les modèles YI localement avec une flexibilité et une personnalisation supplémentaires.
Si vous avez des capacités de calcul limitées, vous pouvez utiliser les modèles quantifiés de Yi comme suit.
Ces modèles quantifiés ont une précision réduite mais offrent une efficacité accrue, comme une vitesse d'inférence plus rapide et une utilisation plus petite de RAM.
Si vous cherchez à explorer les diverses capacités au sein de la famille florissante de Yi, vous pouvez vous plonger dans les modèles affinés de Yi comme ci-dessous.
Modèles TheBloke: Ce site héberge de nombreux modèles affinés dérivés de divers LLM, notamment Yi.
Ce n'est pas une liste exhaustive pour YI, mais pour n'en nommer que quelques-uns triés sur les téléchargements:
SUTISECH / SUS-CHAT-34B: Ce modèle s'est d'abord classé parmi tous les modèles en dessous de 70B et a surpassé le chat deepseek-llm-67b deux fois plus grand. Vous pouvez vérifier le résultat sur le classement LLM ouvert.
Orionstarai / Orionstar-yi-34b-chat-llama: Ce modèle a excellé au-delà des autres modèles (tels que GPT-4, QWEN-14B-CHAT, BAICHUAN2-13B-CHAT) dans les évaluations C-Eval et CMMLU sur le classement OpenCompass LLM.
NousResearch / Nous-CapyBara-34b: Ce modèle est formé avec une longueur de contexte de 200K et 3 époques sur l'ensemble de données Capybara.
[Retour en haut ⬆️]
Pour des capacités détaillées du modèle de la série YI, voir Yi: Open Foundation Models by 01.ai.
@misc{ai2024yi,
title={Yi: Open Foundation Models by 01.AI},
author={01. AI and : and Alex Young and Bei Chen and Chao Li and Chengen Huang and Ge Zhang and Guanwei Zhang and Heng Li and Jiangcheng Zhu and Jianqun Chen and Jing Chang and Kaidong Yu and Peng Liu and Qiang Liu and Shawn Yue and Senbin Yang and Shiming Yang and Tao Yu and Wen Xie and Wenhao Huang and Xiaohui Hu and Xiaoyi Ren and Xinyao Niu and Pengcheng Nie and Yuchi Xu and Yudong Liu and Yue Wang and Yuxuan Cai and Zhenyu Gu and Zhiyuan Liu and Zonghong Dai},
year={2024},
eprint={2403.04652},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
Le modèle YI-34B-CAT montre des performances exceptionnelles, classant d'abord parmi tous les modèles open source existants dans les repères, y compris MMLU, CMMLU, BBH, GSM8K, etc.
* : Les résultats C-Eval sont évalués sur les ensembles de données de validation
Les modèles YI-34B et YI-34B-200K se distinguent comme les meilleurs interprètes parmi les modèles open-source, en particulier en excellant dans MMLU, CMMLU, le raisonnement de bon sens, la compréhension de la lecture, etc.
YI-9B est presque le meilleur parmi une gamme de modèles open-source de taille similaire (y compris Mistral-7b, Solar-10.7b, Gemma-7b, Deepseek-Codeer-7B-Base-V1.5 et plus), en particulier excellant en code, mathématiques, raisonnement de bon sens et compréhension en lecture.
En termes de capacité globale (moyenne-tout), YI-9B effectue le meilleur parmi les modèles open-source de taille similaire, dépassant le co-coder Deepseek, Deepseek-Math, Mistral-7B, Solar-10.7b et Gemma-7b.
En termes de capacité de codage (code moyen), les performances de YI-9B sont seulement derrière Deepseek-Codeer-7b, dépassant le YI-34B, Solar-10.7b, Mistral-7b et Gemma-7b.
En termes de capacité mathématique (moyen-mat), la performance de YI-9B est la deuxième fois derrière Deepseek-Math-7b, dépassant Solar-10.7b, Mistral-7b et Gemma-7b.
En termes de bon sens et de capacité de raisonnement (texte moyen), les performances de YI-9B sont à égalité avec Mistral-7b, Solar-10.7b et Gemma-7b.
[Retour en haut ⬆️]
Tout le monde! ? ✅
Le code et les poids des modèles de la série YI sont distribués sous la licence Apache 2.0, ce qui signifie que les modèles de la série YI sont gratuits pour l'utilisation personnelle, les fins académiques et l'utilisation commerciale.
[Retour en haut ⬆️]
Un merci sincère à chacun de vous qui a apporté des contributions à la communauté YI! Vous avez aidé non seulement un projet, mais une maison dynamique et croissante pour l'innovation.
[Retour en haut ⬆️]
Nous utilisons des algorithmes de vérification des conformes aux données pendant le processus de formation, pour assurer la conformité du modèle formé au meilleur de nos capacités. En raison des données complexes et de la diversité des scénarios d'utilisation du modèle de langue, nous ne pouvons garantir que le modèle générera une sortie correcte et raisonnable dans tous les scénarios. Veuillez noter qu'il existe toujours un risque que le modèle produit des sorties problématiques. Nous ne serons pas responsables des risques et des problèmes résultant d'une mauvaise utilisation, d'une mauvaise action, d'une utilisation illégale et d'une désinformation connexe, ainsi que de toute préoccupation de sécurité des données associée.
[Retour en haut ⬆️]
Le code et les poids des modèles de la série YI-1.5 sont distribués sous la licence Apache 2.0.
Si vous créez des œuvres dérivées basées sur ce modèle, veuillez inclure l'attribution suivante dans vos œuvres dérivées:
This work is a derivative of [The Yi Series Model You Base On] by 01.AI, used under the Apache 2.0 License.
[Retour en haut ⬆️]