Inglés | 中文
? Cara de abrazo • ? ModeloScope • ? modelo sabio
? Haga preguntas o discuta ideas en GitHub
Únase a nosotros en ? Discordia o WeChat
Consulte el informe de Yi Tech
Crecer en Yi Learning Hub
? Aprenda en el blog de Yi Tech
? Los modelos de la serie Yi son la próxima generación de modelos de lenguaje grande de código abierto entrenados desde cero por 01.AI.
? Diseñados como modelo de lenguaje bilingüe y entrenados en corpus multilingües 3T, los modelos de la serie Yi se convierten en uno de los LLM más sólidos del mundo, mostrando promesas en comprensión del lenguaje, razonamiento de sentido común, comprensión de lectura y más. Por ejemplo,
El modelo Yi-34B-Chat quedó en segundo lugar (después de GPT-4 Turbo) , superando a otros LLM (como GPT-4, Mixtral, Claude) en la tabla de clasificación de AlpacaEval (según los datos disponibles hasta enero de 2024).
El modelo Yi-34B ocupó el primer lugar entre todos los modelos de código abierto existentes (como Falcon-180B, Llama-70B, Claude) tanto en inglés como en chino en varios puntos de referencia, incluido Hugging Face Open LLM Leaderboard (pre-entrenado) y C-Eval. (basado en datos disponibles hasta noviembre de 2023).
(Créditos a Llama) Gracias a las comunidades de código abierto Transformer y Llama, ya que reducen los esfuerzos necesarios para construir desde cero y permiten la utilización de las mismas herramientas dentro del ecosistema de IA.
TL;DR
Los modelos de la serie Yi adoptan la misma arquitectura de modelo que Llama pero NO son derivados de Llama.
Tanto Yi como Llama se basan en la estructura Transformer, que ha sido la arquitectura estándar para modelos de lenguaje grandes desde 2018.
Basado en la arquitectura Transformer, Llama se ha convertido en una nueva piedra angular para la mayoría de los modelos de código abierto de última generación debido a su excelente estabilidad, convergencia confiable y compatibilidad sólida. Esto posiciona a Llama como el marco fundamental reconocido para modelos que incluyen a Yi.
Gracias a las arquitecturas Transformer y Llama, otros modelos pueden aprovechar su potencia, reduciendo el esfuerzo necesario para construir desde cero y permitiendo la utilización de las mismas herramientas dentro de sus ecosistemas.
Sin embargo, los modelos de la serie Yi NO son derivados de Llama, ya que no utilizan los pesos de Llama.
Como la estructura de Llama es empleada por la mayoría de los modelos de código abierto, los factores clave para determinar el rendimiento del modelo son los conjuntos de datos de entrenamiento, los canales de entrenamiento y la infraestructura de entrenamiento.
Al desarrollarse de una manera única y patentada, Yi ha creado de forma independiente sus propios conjuntos de datos de capacitación de alta calidad, canales de capacitación eficientes y una infraestructura de capacitación sólida completamente desde cero. Este esfuerzo ha llevado a un rendimiento excelente con los modelos de la serie Yi ubicándose justo detrás de GPT4 y superando a Llama en la clasificación de Alpaca en diciembre de 2023.
[Volver al inicio ⬆️]
Yi-9B-200K
es de código abierto y está disponible para el público.Yi-9B
es de código abierto y está disponible para el público.Yi-9B
se destaca como el de mejor desempeño entre una gama de modelos de código abierto de tamaño similar (incluidos Mistral-7B, SOLAR-10.7B, Gemma-7B, DeepSeek-Coder-7B-Base-v1.5 y más). sobresaliendo particularmente en código, matemáticas, razonamiento de sentido común y comprensión lectora.Yi-VL-34B
y Yi-VL-6B
, son de código abierto y están disponibles para el público.Yi-VL-34B
ocupó el primer lugar entre todos los modelos de código abierto existentes en los últimos puntos de referencia, incluidos MMMU y CMMMU (según los datos disponibles hasta enero de 2024).Yi-34B-Chat
Yi-34B-Chat-4bits
Yi-34B-Chat-8bits
Yi-6B-Chat
Yi-6B-Chat-4bits
Yi-6B-Chat-8bits
Puedes probar algunos de ellos de forma interactiva en:
Yi-6B-200K
y Yi-34B-200K
, son de código abierto y están disponibles para el público.Yi-6B
y Yi-34B
, son de código abierto y están disponibles para el público.[Volver al inicio ⬆️]
Los modelos Yi vienen en varios tamaños y se adaptan a diferentes casos de uso. También puede ajustar los modelos Yi para satisfacer sus necesidades específicas.
Si desea implementar modelos Yi, asegúrese de cumplir con los requisitos de software y hardware.
Modelo | Descargar |
---|---|
Yi-34B-Chat | • ? Cara de abrazo • ? ModeloScope • ? modelo sabio |
Yi-34B-Chat-4bits | • ? Cara de abrazo • ? ModeloScope • ? modelo sabio |
Yi-34B-Chat-8bits | • ? Cara de abrazo • ? ModeloScope • ? modelo sabio |
Yi-6B-Chat | • ? Cara de abrazo • ? ModeloScope • ? modelo sabio |
Yi-6B-Chat-4bits | • ? Cara de abrazo • ? ModeloScope • ? modelo sabio |
Yi-6B-Chat-8bits | • ? Cara de abrazo • ? ModeloScope • ? modelo sabio |
- Los modelos de la serie de 4 bits están cuantificados por AWQ.
- Los modelos de la serie de 8 bits están cuantificados por GPTQ
- Todos los modelos cuantificados tienen una barrera baja para su uso, ya que se pueden implementar en GPU de consumo (por ejemplo, 3090, 4090).
Modelo | Descargar |
---|---|
Yi-34B | • ? Cara de abrazo • ? ModeloScope • ? modelo sabio |
Yi-34B-200K | • ? Cara de abrazo • ? ModeloScope • ? modelo sabio |
Yi-9B | • ? Abrazando la cara • ? ModeloScope • ? modelo sabio |
Yi-9B-200K | • ? Abrazando la cara • ? ModeloScope • ? modelo sabio |
Yi-6B | • ? Cara de abrazo • ? ModeloScope • ? modelo sabio |
Yi-6B-200K | • ? Abrazando la cara • ? ModeloScope • ? modelo sabio |
- 200k equivalen aproximadamente a 400.000 caracteres chinos.
- Si desea utilizar la versión anterior del Yi-34B-200K (lanzada el 5 de noviembre de 2023), ejecute git checkout 069cd341d60f4ce4b07ec394e82b79e94f656cf
para descargar el peso.
Modelo | Introducción | Ventana de contexto predeterminada | Fichas previamente entrenadas | Fecha de datos de entrenamiento |
---|---|---|---|---|
Modelos de la serie 6B | Son adecuados para uso personal y académico. | 4k | 3T | Hasta junio de 2023 |
Modelos de la serie 9B | Es el mejor en codificación y matemáticas de los modelos de la serie Yi. | Yi-9B se entrena continuamente basándose en Yi-6B, utilizando tokens de 0,8T. | ||
Modelos de la serie 34B | Son adecuados para fines personales, académicos y comerciales (particularmente para pequeñas y medianas empresas). Es una solución rentable, asequible y equipada con capacidad emergente. | 3T |
Para modelos de chat
Sin embargo, esta mayor diversidad podría amplificar ciertos problemas existentes, entre ellos:
[Volver al inicio ⬆️]
Consejo : si desea comenzar con el modelo Yi y explorar diferentes métodos de inferencia, consulte el Libro de cocina de Yi.
¡Selecciona uno de los siguientes caminos para comenzar tu viaje con Yi!
Si prefiere implementar modelos Yi localmente,
?♀️ y tienes recursos suficientes (por ejemplo, NVIDIA A800 80GB), puedes elegir uno de los siguientes métodos:
?♀️ y tienes recursos limitados (por ejemplo, una MacBook Pro), puedes usar llama.cpp.
Si prefiere no implementar modelos de Yi localmente, puede explorar las capacidades de Yi utilizando cualquiera de las siguientes opciones.
Si desea explorar más funciones de Yi, puede adoptar uno de estos métodos:
API de Yi (oficial de Yi)
API de Yi (réplica)
Si desea chatear con Yi con opciones más personalizables (por ejemplo, aviso del sistema, temperatura, penalización por repetición, etc.), puede probar una de las siguientes opciones:
Yi-34B-Chat-Playground (oficial de Yi)
Yi-34B-Chat-Playground (réplica)
Si desea chatear con Yi, puede utilizar uno de estos servicios en línea, que ofrecen una experiencia de usuario similar:
Yi-34B-Chat (funcionario de Yi en Hugging Face)
Yi-34B-Chat (beta oficial de Yi)
[Volver al inicio ⬆️]
Este tutorial lo guía a través de cada paso para ejecutar Yi-34B-Chat localmente en un A800 (80G) y luego realizar la inferencia.
Asegúrese de que esté instalado Python 3.10 o una versión posterior.
Si desea ejecutar otros modelos de Yi, consulte los requisitos de software y hardware.
Para configurar el entorno e instalar los paquetes necesarios, ejecute el siguiente comando.
git clone https://github.com/01-ai/Yi.git
cd yi
pip install -r requirements.txt
Puede descargar los pesos y el tokenizador de los modelos Yi de las siguientes fuentes:
Puede realizar inferencias con Yi chat o modelos base como se muestra a continuación.
Cree un archivo llamado quick_start.py
y copie el siguiente contenido en él.
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 )
Ejecute quick_start.py
.
python quick_start.py
Luego podrá ver un resultado similar al que se muestra a continuación. ?
Hello ! How can I assist you today ?
Yi-34B
Los pasos son similares a pip: realizar inferencias con el modelo de chat Yi.
Puede utilizar el archivo existente text_generation.py
.
python demo/text_generation.py --model < your-model-path >
Luego podrá ver un resultado similar al que se muestra a continuación. ?
Pregunta : Déjame contarte una historia interesante sobre el gato Tom y el ratón Jerry.
Generación : Déjame contarte una historia interesante sobre el gato Tom y el ratón Jerry, que sucedió en mi infancia. Mi padre tenía una casa grande y dentro vivían dos gatos que mataban ratones. Un día, cuando estaba jugando solo en casa, encontré a uno de los gatos acostado boca arriba cerca de la puerta de nuestra cocina, parecía como si quisiera algo de nosotros pero no podía levantarse porque había demasiada gente a su alrededor. Continuó intentándolo durante varios minutos antes de finalmente darse por vencido...
Yi-9B
Aporte
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))
Producción
# 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]))
[Volver al inicio ⬆️]
Asegúrese de haber instalado Docker y nvidia-container-toolkit.
docker run -it --gpus all
-v : /models
ghcr.io/01-ai/yi:latest
Alternativamente, puede extraer la imagen de Yi Docker desde registry.lingyiwanwu.com/ci/01-ai/yi:latest
.
Puede realizar inferencias con Yi chat o modelos base como se muestra a continuación.
Los pasos son similares a pip: realizar inferencia con el modelo de chat Yi.
Tenga en cuenta que la única diferencia es establecer model_path = '
en lugar de model_path = '
.
Los pasos son similares a pip: realizar inferencias con el modelo base de Yi.
Tenga en cuenta que la única diferencia es establecer --model
en lugar de model
.
conda-lock
para generar archivos de bloqueo totalmente reproducibles para entornos conda.micromamba
para instalar estas dependencias.Instale micromamba siguiendo las instrucciones disponibles aquí.
Ejecute micromamba install -y -n yi -f conda-lock.yml
para crear un entorno conda llamado yi
e instalar las dependencias necesarias.
El siguiente tutorial lo guiará a través de cada paso para ejecutar un modelo cuantificado (Yi-chat-6B-2bits) localmente y luego realizar la inferencia.
Este tutorial supone que utilizas una MacBook Pro con 16 GB de memoria y un chip Apple M2 Pro.
Asegúrese de git-lfs
esté instalado en su máquina.
llama.cpp
Para clonar el repositorio llama.cpp
, ejecute el siguiente comando.
git clone [email protected]:ggerganov/llama.cpp.git
2.1 Para clonar XeIaso/yi-chat-6B-GGUF con solo punteros, ejecute el siguiente comando.
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/XeIaso/yi-chat-6B-GGUF
2.2 Para descargar un modelo Yi cuantificado (yi-chat-6b.Q2_K.gguf), ejecute el siguiente comando.
git-lfs pull --include yi-chat-6b.Q2_K.gguf
Para realizar inferencias con el modelo Yi, puede utilizar uno de los siguientes métodos.
Método 1: realizar inferencia en la terminal
Método 2: realizar inferencia en la web
Para compilar llama.cpp
usando 4 subprocesos y luego realizar la inferencia, navegue hasta el directorio llama.cpp
y ejecute el siguiente comando.
Consejos
Reemplace
/Users/yu/yi-chat-6B-GGUF/yi-chat-6b.Q2_K.gguf
con la ruta real de su modelo.De forma predeterminada, el modelo funciona en modo de finalización.
Para opciones adicionales de personalización de salida (por ejemplo, aviso del sistema, temperatura, penalización por repetición, etc.), ejecute
./main -h
para verificar las descripciones detalladas y el uso.
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.
...
¡Ahora ha hecho una pregunta al modelo Yi con éxito y ha obtenido una respuesta! ?
Para inicializar un chatbot ligero y rápido, ejecute el siguiente comando.
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
Entonces puedes obtener un resultado como este:
...
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
Para acceder a la interfaz del chatbot, abra su navegador web e ingrese http://0.0.0.0:8080
en la barra de direcciones.
Ingrese una pregunta, como "¿Cómo alimenta a su zorro mascota? Responda esta pregunta en 6 sencillos pasos" en la ventana de solicitud y recibirá la respuesta correspondiente.
[Volver al inicio ⬆️]
Puede crear una demostración de interfaz de usuario web para los modelos de chat Yi (tenga en cuenta que los modelos base Yi no son compatibles en este escenario).
Paso 1: Prepare su entorno.
Paso 2: descarga el modelo Yi.
Paso 3. Para iniciar un servicio web localmente, ejecute el siguiente comando.
python demo/web_demo.py -c < your-model-path >
Puede acceder a la interfaz de usuario web ingresando la dirección proporcionada en la consola en su navegador.
[Volver al inicio ⬆️]
bash finetune/scripts/run_sft_Yi_6b.sh
Una vez terminado, puede comparar el modelo ajustado y el modelo base con el siguiente comando:
bash finetune/scripts/run_eval.sh
De forma predeterminada, utilizamos un pequeño conjunto de datos de BAAI/COIG para ajustar el modelo base. También puede preparar su conjunto de datos personalizado en el siguiente formato jsonl
:
{ "prompt" : " Human: Who are you? Assistant: " , "chosen" : " I'm Yi. " }
Y luego móntelos en el contenedor para reemplazar los predeterminados:
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
Asegúrate de tener conda. Si no, usa
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
Luego, crea un entorno 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
Para el modelo Yi-6B, se recomienda un nodo con 4 GPU, cada una con una memoria de GPU superior a 60 GB.
Para el modelo Yi-34B, debido a que el uso de la técnica de descarga cero consume mucha memoria de la CPU, tenga cuidado de limitar la cantidad de GPU en el entrenamiento de ajuste fino de 34B. Utilice CUDA_VISIBLE_DEVICES para limitar la cantidad de GPU (como se muestra en scripts/run_sft_Yi_34b.sh).
Una configuración de hardware típica para ajustar el modelo 34B es un nodo con 8 GPU (limitado a 4 en ejecución por CUDA_VISIBLE_DEVICES=0,1,2,3), cada uno con una memoria de GPU superior a 80 GB y una memoria total de CPU superior a 900 GB.
Descargue un modelo base LLM en MODEL_PATH (6B y 34B). Una carpeta típica de modelos es como:
| -- $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
| | -- ...
Descargue un conjunto de datos de huggingface al almacenamiento local DATA_PATH, por ejemplo, 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
tiene conjuntos de datos de ejemplo, que se modifican desde BAAI/COIG
| -- $DATA_PATH
| --data
| -- train.jsonl
| -- eval.jsonl
cd
en la carpeta de scripts, copie y pegue el script y ejecútelo. Por ejemplo:
cd finetune/scripts
bash run_sft_Yi_6b.sh
Para el modelo base Yi-6B, configurar Training_debug_steps=20 y num_train_epochs=4 puede generar un modelo de chat, lo que demora aproximadamente 20 minutos.
Para el modelo base Yi-34B, la inicialización lleva un tiempo relativamente largo. Por favor tenga paciencia.
cd finetune/scripts
bash run_eval.sh
Luego verá la respuesta tanto del modelo base como del modelo ajustado.
[Volver al inicio ⬆️]
python quantization/gptq/quant_autogptq.py
--model /base_model
--output_dir /quantized_model
--trust_remote_code
Una vez terminado, puede evaluar el modelo resultante de la siguiente manera:
python quantization/gptq/eval_quantized_model.py
--model /quantized_model
--trust_remote_code
GPT-Q es un método PTQ (cuantización posterior al entrenamiento). Ahorra memoria y proporciona posibles aceleraciones manteniendo la precisión del modelo.
Los modelos Yi se pueden cuantificar con GPT-Q sin mucho esfuerzo. Proporcionamos un tutorial paso a paso a continuación.
Para ejecutar GPT-Q, usaremos AutoGPTQ y exllama. Y los transformadores Huggingface han integrado óptimo y auto-gptq para realizar la cuantificación GPTQ en modelos de lenguaje.
Se proporciona el script quant_autogptq.py
para que pueda realizar la cuantificación GPT-Q:
python quant_autogptq.py --model /base_model
--output_dir /quantized_model --bits 4 --group_size 128 --trust_remote_code
Puede ejecutar un modelo cuantificado utilizando 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
Una vez terminado, puede evaluar el modelo resultante de la siguiente manera:
python quantization/awq/eval_quantized_model.py
--model /quantized_model
--trust_remote_code
AWQ es un método PTQ (cuantización post-entrenamiento). Es una cuantificación de peso de bits bajos (INT3/4) eficiente y precisa para LLM.
Los modelos Yi se pueden cuantificar AWQ sin mucho esfuerzo. Proporcionamos un tutorial paso a paso a continuación.
Para ejecutar AWQ, usaremos AutoAWQ.
Se proporciona el script quant_autoawq.py
para que pueda realizar la cuantificación AWQ:
python quant_autoawq.py --model /base_model
--output_dir /quantized_model --bits 4 --group_size 128 --trust_remote_code
Puede ejecutar un modelo cuantificado utilizando eval_quantized_model.py
:
python eval_quantized_model.py --model /quantized_model --trust_remote_code
[Volver al inicio ⬆️]
Si desea implementar modelos Yi, asegúrese de cumplir con los requisitos de software y hardware.
Antes de utilizar los modelos cuantificados de Yi, asegúrese de haber instalado el software correcto que se detalla a continuación.
Modelo | Software |
---|---|
Modelos cuantificados Yi de 4 bits | AWQ y CUDA |
Modelos cuantificados Yi de 8 bits | GPTQ y CUDA |
Antes de implementar Yi en su entorno, asegúrese de que su hardware cumpla con los siguientes requisitos.
Modelo | VRAM mínima | Ejemplo de GPU recomendada |
---|---|---|
Yi-6B-Chat | 15GB | 1 RTX 3090 (24 GB) 1 RTX 4090 (24 GB) 1 A10 (24 GB) 1 A30 (24 GB) |
Yi-6B-Chat-4bits | 4GB | 1 RTX 3060 (12 GB) 1 RTX 4060 (8GB) |
Yi-6B-Chat-8bits | 8GB | 1 RTX 3070 (8GB) 1 RTX 4060 (8GB) |
Yi-34B-Chat | 72GB | 4 RTX 4090 (24 GB) 1 A800 (80 GB) |
Yi-34B-Chat-4bits | 20 GB | 1 RTX 3090 (24 GB) 1 RTX 4090 (24 GB) 1 A10 (24 GB) 1 A30 (24 GB) 1 A100 (40 GB) |
Yi-34B-Chat-8bits | 38GB | 2 RTX 3090 (24 GB) 2 RTX 4090 (24 GB) 1 A800 (40 GB) |
A continuación se detallan los requisitos mínimos de VRAM en diferentes casos de uso por lotes.
Modelo | lote = 1 | lote = 4 | lote = 16 | lote = 32 |
---|---|---|---|---|
Yi-6B-Chat | 12GB | 13GB | 15GB | 18GB |
Yi-6B-Chat-4bits | 4GB | 5GB | 7GB | 10GB |
Yi-6B-Chat-8bits | 7GB | 8GB | 10GB | 14GB |
Yi-34B-Chat | 65GB | 68GB | 76GB | > 80GB |
Yi-34B-Chat-4bits | 19GB | 20 GB | 30 GB | 40GB |
Yi-34B-Chat-8bits | 35GB | 37GB | 46GB | 58GB |
Modelo | VRAM mínima | Ejemplo de GPU recomendada |
---|---|---|
Yi-6B | 15GB | 1 RTX 3090 (24 GB) 1 RTX 4090 (24 GB) 1 A10 (24 GB) 1 A30 (24 GB) |
Yi-6B-200K | 50 GB | 1 A800 (80 GB) |
Yi-9B | 20 GB | 1 RTX 4090 (24 GB) |
Yi-34B | 72GB | 4 RTX 4090 (24 GB) 1 A800 (80 GB) |
Yi-34B-200K | 200GB | 4 A800 (80 GB) |
[Volver al inicio ⬆️]
Yi-34B
y Yi-34B-Chat
se reduce al enfoque y los resultados del ajuste.Yi-34B
podría ser su opción.Yi-34B-Chat
podría ser su mejor opción. ¿Dónde puedo obtener conjuntos de datos de respuesta a preguntas de ajuste?
¿Cuál es el requisito de memoria de la GPU para ajustar el Yi-34B FP16?
La memoria GPU necesaria para ajustar el 34B FP16 depende del método de ajuste específico empleado. Para un ajuste completo de los parámetros, necesitará 8 GPU con 80 GB cada una; sin embargo, soluciones más económicas como Lora requieren menos. Para obtener más detalles, consulte hiyouga/LLaMA-Factory. Además, considere usar BF16 en lugar de FP16 para realizar ajustes y optimizar el rendimiento.
¿Existen plataformas de terceros que admitan la funcionalidad de chat para el modelo Yi-34b-200k?
Si busca chats de terceros, las opciones incluyen fireworks.ai.
¡Bienvenido al centro de aprendizaje Yi!
Ya sea un desarrollador experimentado o un recién llegado, puede encontrar una gran cantidad de recursos educativos útiles para mejorar su comprensión y habilidades con los modelos Yi, incluidas publicaciones de blog interesantes, tutoriales en vídeo completos, guías prácticas y más.
El contenido que encontrará aquí ha sido generosamente contribuido por expertos en Yi y entusiastas apasionados. ¡Le extendemos nuestro más sincero agradecimiento por sus invaluables contribuciones!
Al mismo tiempo, también lo invitamos cordialmente a unirse a nuestro esfuerzo colaborativo contribuyendo a Yi. Si ya ha realizado contribuciones a Yi, no dude en mostrar su notable trabajo en la siguiente tabla.
Con todos estos recursos a tu alcance, estás listo para comenzar tu emocionante viaje con Yi. ¡Feliz aprendizaje! ?
Entregable | Fecha | Autor |
---|---|---|
使用 Dify、Meilisearch、零一万物模型实现最简单的 RAG 应用(三):AI 电影推荐 | 2024-05-20 | 苏洋 |
使用autodl服务器,在A40显卡上运行,Yi-34B-Chat-int4模型,并使用vllm优化加速,显存占用42G,速度18 palabras-s | 2024-05-20 | volar-iot |
Yi-VL 最佳实践 | 2024-05-20 | ModeloScope |
一键运行零一万物新鲜出炉Yi-1.5-9B-Chat大模型 | 2024-05-13 | Segundo Estado |
零一万物开源Yi-1.5系列大模型 | 2024-05-13 | 刘聪 |
零一万物Yi-1.5系列模型发布并开源! 34B-9B-6B 多尺寸,魔搭社区推理微调最佳实践教程来啦! | 2024-05-13 | ModeloScope |
Yi-34B 本地部署简单测试 | 2024-05-13 | 漆妮妮 |
驾辰龙跨Llama持Wasm,玩转Yi模型迎新春过大年(上) | 2024-05-13 | palabras que valen la pena |
驾辰龙跨Llama持Wasm,玩转Yi模型迎新春过大年(下篇) | 2024-05-13 | palabras que valen la pena |
Ollama新增两个命令,开始支持零一万物Yi-1.5系列模型 | 2024-05-13 | AI工程师笔记 |
使用零一万物 200K 模型和 Dify 快速搭建模型应用 | 2024-05-13 | 苏洋 |
(持更) 零一万物模型折腾笔记:社区 Yi-34B 微调模型使用 | 2024-05-13 | 苏洋 |
Python+ERNIE-4.0-8K-Yi-34B-Chat大模型初探 | 2024-05-11 | 江湖评谈 |
Aplicación de Vue y Python (Prompt) | 2024-05-11 | MumuLab |
多模态大模型Yi-VL-plus体验 效果很棒 | 2024-04-27 | 大家好我是爱因 |
使用autodl服务器,两个3090显卡上运行,Yi-34B-Chat-int4模型,并使用vllm优化加速,显存占用42G,速度23 palabras-s | 2024-04-27 | volar-iot |
Primeros pasos con Yi-1.5-9B-Chat | 2024-04-27 | Segundo Estado |
基于零一万物yi-vl-plus大模型简单几步就能批量生成Anki图片笔记 | 2024-04-24 | 正经人王同学 |
【AI开发:语言】一、Yi-34B超大模型本地部署CPU和GPU版 | 2024-04-21 | Mi 的梦想已实现 |
【Yi-34B-Chat-Int4】使用4个2080Ti显卡11G版本,运行Yi-34B模型,5年前老显卡是支持的,可以正常运行,速度 21 palabras -s,vllm要求算力在7以上的显卡就可以 | 2024-03-22 | volar-iot |
零一万物大模型部署+微调总结 | 2024-03-22 | v_wus |
零一万物Yi大模型vllm推理时Yi-34B或Yi-6bchat重复输出的解决方案 | 2024-03-02 | 郝铠锋 |
Yi-34B微调训练 | 2024-03-02 | lsjlnd |
实测零一万物Yi-VL多模态语言模型:能准确“识图吃瓜” | 2024-02-02 | 苏洋 |
零一万物开源Yi-VL多模态大模型,魔搭社区推理&微调最佳实践来啦! | 2024-01-26 | ModeloScope |
单卡 3 小时训练 Yi-6B 大模型 Agente:基于 Llama Factory 实战 | 2024-01-22 | 郑耀威 |
零一科技Yi-34B Chat大模型环境搭建&推理 | 2024-01-15 | 要养家的程序员 |
基于LLaMA Factory,单卡3小时训练专属大模型 Agente | 2024-01-15 | 机器学习社区 |
双卡 3080ti 部署 Yi-34B 大模型 - 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 | 漆妮妮 |
零一万物模型官方 Yi-34B 模型本地离线运行部署使用笔记(物理机和docker两种部署方式),200K文本内容,34B 干翻一众 70B 模型,打榜分数那么高,这模型到底行不行? | 2023-12-28 | 代码讲故事 |
LLM - 大模型速递之 Yi-34B 入门与 LoRA 微调 | 2023-12-18 | BIT_666 |
通过vllm框架进行大模型推理 | 2023-12-18 | 土山炮 |
CPU 混合推理,非常见大模型量化方案:“二三五六” 位量化方案 | 2023-12-12 | 苏洋 |
零一万物模型折腾笔记:官方 Yi-34B 模型基础使用 | 2023-12-10 | 苏洋 |
Ejecutando Yi-34B-Chat localmente usando LlamaEdge | 2023-11-30 | Segundo Estado |
本地运行零一万物 34B 大模型,使用 Llama.cpp y 21G 显存 | 2023-11-26 | 苏洋 |
Entregable | Fecha | Autor |
---|---|---|
yi-openai-proxy | 2024-05-11 | 苏洋 |
基于零一万物 Yi 模型和 B 站构建大语言模型高质量训练数据集 | 2024-04-29 | 正经人王同学 |
基于视频网站和零一万物大模型构建大语言模型高质量训练数据集 | 2024-04-25 | 正经人王同学 |
基于零一万物yi-34b-chat-200k输入任意文章地址,点击按钮即可生成无广告或推广内容的简要笔记,并生成分享图给好友 | 2024-04-24 | 正经人王同学 |
Modelo Food-GPT-Yi | 2024-04-21 | Hubert S. |
Entregable | Fecha | Autor |
---|---|---|
Ejecute Dolphin-2.2-yi-34b en dispositivos IoT | 2023-11-30 | Segundo Estado |
只需 24G 显存,用 vllm 跑起来 Yi-34B 中英双语大模型 | 2023-12-28 | 漆妮妮 |
Instale Yi 34B localmente - LLM bilingüe chino inglés | 2023-11-05 | Fahd Mirza |
Dolphin Yi 34b: nuevo modelo fundamental PROBADO | 2023-11-27 | Mateo Berman |
Yi-VL-34B 多模态大模型 - 用两张 A40 显卡跑起来 | 2024-01-28 | 漆妮妮 |
4060Ti 16G显卡安装零一万物最新开源的Yi-1.5版大语言模型 | 2024-05-14 | titan909 |
Yi-1.5: verdadero competidor de Apache 2.0 de LLAMA-3 | 2024-05-13 | Ingeniería rápida |
Instale el modelo Yi-1.5 localmente: supera a Llama 3 en varios puntos de referencia | 2024-05-13 | Fahd Mirza |
cómo instalar Ollama y ejecutar Yi 6B | 2024-05-13 | Ridaa Davids |
地表最强混合智能AI助手:llama3_70B+Yi_34B+Qwen1.5_110B | 2024-05-04 | 朱扎特 |
ChatDoc学术论文辅助--基于Yi-34B和langchain进行PDF知识库问答 | 2024-05-03 | 朱扎特 |
基于Yi-34B的领域知识问答项目演示 | 2024-05-02 | 朱扎特 |
使用RTX4090+GaLore算法 全参微调Yi-6B大模型 | 2024-03-24 | 小工蚂创始人 |
无内容审查NSFW大语言模型Yi-34B-Chat蒸馏版测试,RolePlay,《天龙八部》马夫人康敏,本地GPU,CPU运行 | 2024-03-20 | 刘悦的技术博客 |
无内容审查NSFW大语言模型整合包,Yi-34B-Chat,本地CPU运行,角色扮演潘金莲 | 2024-03-16 | 刘悦的技术博客 |
量化 Yi-34B-Chat 并在单卡 RTX 4090 使用 vLLM 部署 | 2024-03-05 | 白鸽巢 |
Yi-VL-34B(5):使用3个3090显卡24G版本,运行Yi-VL-34B模型,支持命令行和web界面方式,理解图片的内容转换成文字 | 2024-02-27 | volar-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 | volar-iot |
【xinference】(6):在autodl上,使用xinference部署yi-vl-chat和qwen-vl-chat模型,可以使用openai调用成功 | 2024-02-06 | volar-iot |
无需显卡本地部署Yi-34B-Chat进行角色扮演游戏 P1 | 2024-02-05 | 魚蟲蟲 |
2080Ti部署YI-34B大模型 xinference-oneapi-fastGPT本地知识库使用指南 | 2024-01-30 | 小饭护法要转码 |
El mejor modelo de IA para escribir historias: instale Yi 6B 200K localmente en Windows | 2024-01-22 | Fahd Mirza |
Mac 本地运行大语言模型方法与常见问题指南(Yi 34B 模型+32 GB 内存测试) | 2024-01-21 | 小吴苹果机器人 |
【Dify知识库】(11):Dify0.4.9改造支持MySQL,成功接入yi-6b 做对话,本地使用fastchat启动,占8G显存,完成知识库配置 | 2024-01-21 | volar-iot |
这位LLM先生有点暴躁,用的是YI-6B的某个量化版,#LLM #大语言模型 #暴躁老哥 | 2024-01-20 | 晓漫吧 |
大模型推理 NvLink 桥接器有用吗|双卡 A6000 测试一下 | 2024-01-17 | 漆妮妮 |
大模型推理 A40 vs A6000 谁更强 - 对比 Yi-34B 的单、双卡推理性能 | 2024-01-15 | 漆妮妮 |
C-Eval 大语言模型评测基准- 用 Arnés de evaluación LM + vLLM 跑起来 | 2024-01-11 | 漆妮妮 |
双显卡部署 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 palabras/s | 2023-12-02 | mosca |
使用 Autodl 服务器 , RTX 3090 * 3 显卡上运行 , yi-34b-chat 模型 , 显存占用 60g | 2023-12-01 | mosca |
使用 autodl 服务器 , 两个 3090 显卡上运行 , yi-34b-chat-int4 模型 , 用 vllm 优化 增加 增加-num-gpu 2 , 速度 23 palabras/s | 2023-12-01 | mosca |
Yi 大模型一键本地部署 技术小白玩转 ai | 2023-12-01 | 技术小白玩转 Ai |
01.Ai y-6b: descripción general y ajuste | 2023-11-28 | AI Makerspace |
Yi 34B Chat LLM Superforms Llama 70B | 2023-11-27 | Plumador |
Cómo ejecutar modelos de código abierto en Mac Yi 34b en M3 Max | 2023-11-26 | Techno Premium |
Yi -34b - 200k - el mejor y nuevo contexto de la ventana rey | 2023-11-24 | Ingeniería rápida |
Yi 34b: El surgimiento de potentes modelos de tamaño mediano - Base, 200k y chat | 2023-11-24 | Sam Witteveen |
在 IoT 设备运行破解版李开复大模型 Dolphin-2.2-Yi-34b (还可作为私有 OpenAi API 服务器) | 2023-11-15 | Segundo Estado |
Ejecute Dolphin-2.2-Yi-34b en dispositivos IoT (también funciona como un servidor privado de API de OpenAI) | 2023-11-14 | Segundo Estado |
Cómo instalar Yi 34B 200k LlamaFied en Windows Laptop | 2023-11-11 | Fahd Mirza |
Yi tiene un ecosistema integral, que ofrece una gama de herramientas, servicios y modelos para enriquecer sus experiencias y maximizar la productividad.
Los modelos de la serie Yi siguen la misma arquitectura modelo que LLAMA. Al elegir Yi, puede aprovechar las herramientas, bibliotecas y recursos existentes dentro del ecosistema de LLAMA, eliminando la necesidad de crear nuevas herramientas y mejorar la eficiencia del desarrollo.
Por ejemplo, los modelos de la serie Yi se guardan en el formato del modelo LLAMA. Puede usar directamente LlamaForCausalLM
y LlamaTokenizer
para cargar el modelo. Para obtener más información, consulte Use el modelo 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" )
[Volver arriba ⬆️]
Consejo
Siéntase libre de crear un PR y compartir el fantástico trabajo que ha creado utilizando los modelos de la serie Yi.
Para ayudar a otros a comprender rápidamente su trabajo, se recomienda utilizar el formato de
.
: +
Si desea levantarse con Yi en unos minutos, puede usar los siguientes servicios construidos sobre YI.
Yi-34b-chat: puedes chatear con Yi usando una de las siguientes plataformas:
Yi-6b-chat (replicar): puede usar este modelo con más opciones estableciendo parámetros adicionales y llamando a API.
Scalellm: puede usar este servicio para ejecutar modelos Yi localmente con flexibilidad y personalización adicionales.
Si tiene capacidades computacionales limitadas, puede usar los modelos cuantizados de Yi de la siguiente manera.
Estos modelos cuantificados han reducido la precisión, pero ofrecen una mayor eficiencia, como una velocidad de inferencia más rápida y un menor uso de RAM.
Si está buscando explorar las diversas capacidades dentro de la próspera familia de Yi, puede profundizar en los modelos ajustados de Yi como se muestra a continuación.
THEBLOKE MODELOS: este sitio aloja numerosos modelos ajustados derivados de varios LLM, incluido Yi.
Esta no es una lista exhaustiva para Yi, pero por nombrar algunas clasificadas en las descargas:
SUSTECH/SUS-CHAT-34B: Este modelo se clasificó primero entre todos los modelos por debajo de 70b y superó el dos veces más grande Deepseek-LLM-67B-CHAT. Puede verificar el resultado en la clasificación Open LLM.
Orionstarai/Orionstar-Yi-34b-Chat-Llama: Este modelo se destacó más allá de otros modelos (como GPT-4, Qwen-14b-Chat, Baichuan2-13b-Chat) en evaluaciones C-Eval y CMMLU en la tabla de clasificación OpenCompass LLM.
NousResearch/Nous-Capybara-34b: este modelo está entrenado con 200K longitud de contexto y 3 épocas en el conjunto de datos de Capybara.
[Volver arriba ⬆️]
Para capacidades detalladas del modelo de la serie Yi, consulte Yi: Open Foundation Models antes de 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}
}
El modelo YI-34B-CHAT demuestra un rendimiento excepcional, clasificando primero entre todos los modelos de código abierto existentes en los puntos de referencia, incluidos MMLU, CMMLU, BBH, GSM8K y más.
* : Los resultados de C-EVAL se evalúan en los conjuntos de datos de validación
Los modelos YI-34B y YI-34B-200K se destacan como los mejores en los modelos de código abierto, especialmente sobresaliendo en MMLU, CMMLU, razonamiento de sentido común, comprensión de lectura y más.
Yi-9B es casi el mejor entre una variedad de modelos de código abierto de tamaño similar (incluyendo Mistral-7B, Solar-10.7B, Gemma-7b, Deepseek-coder-7b-Base-V1.5 y más), particularmente sobresaliendo en código, matemáticas, razonamiento de sentido común y comprensión de lectura.
En términos de capacidad general (Mean-All), Yi-9B tiene el mejor de los modelos de código abierto de tamaño similar, superando a Deepseek-coder, Deepseek-Math, Mistral-7B, Solar-10.7b y Gemma-7b.
En términos de capacidad de codificación (código medio), el rendimiento de Yi-9b es solo superado por Deepseek-coder-7b, superando Yi-34b, Solar-10.7b, Mistral-7B y Gemma-7B.
En términos de capacidad matemática (MAY-MATH), el rendimiento de YI-9B es solo superado por Deepseek-Math-7B, superando la energía solar-10.7b, Mistral-7B y Gemma-7B.
En términos de sentido común y capacidad de razonamiento (texto medio), el rendimiento de YI-9B está a la par con Mistral-7B, Solar-10.7B y Gemma-7B.
[Volver arriba ⬆️]
¡Todos! ? ✅
El código y los pesos de los modelos de la serie Yi se distribuyen bajo la licencia Apache 2.0, lo que significa que los modelos de la serie Yi son gratuitos para uso personal, fines académicos y uso comercial.
[Volver arriba ⬆️]
¡Un sincero agradecimiento a cada uno de ustedes que han hecho contribuciones a la comunidad Yi! Has ayudado a Yi no solo un proyecto, sino un hogar vibrante y creciente para la innovación.
[Volver arriba ⬆️]
Utilizamos algoritmos de verificación de cumplimiento de datos durante el proceso de capacitación, para garantizar el cumplimiento del modelo capacitado lo mejor que podamos. Debido a los datos complejos y la diversidad de los escenarios de uso del modelo de lenguaje, no podemos garantizar que el modelo genere una salida correcta y razonable en todos los escenarios. Tenga en cuenta que todavía existe el riesgo de que el modelo produzca salidas problemáticas. No seremos responsables de los riesgos y problemas resultantes del mal uso, la equivocación, el uso ilegal y la información errónea relacionada, así como las preocupaciones de seguridad de datos asociadas.
[Volver arriba ⬆️]
El código y los pesos de los modelos de la serie Yi-1.5 se distribuyen bajo la licencia Apache 2.0.
Si crea trabajos derivados basados en este modelo, incluya la siguiente atribución en sus trabajos de derivados:
This work is a derivative of [The Yi Series Model You Base On] by 01.AI, used under the Apache 2.0 License.
[Volver arriba ⬆️]