? Modelos abrazando la cara | Blog | Sitio web | Empezar
Gracias por desarrollar con modelos Llama. Como parte del lanzamiento de Llama 3.1, consolidamos los repositorios de GitHub y agregamos algunos repositorios adicionales a medida que ampliamos la funcionalidad de Llama para convertirla en una pila de Llama e2e. Utilice los siguientes repositorios en el futuro:
llama-models: repositorio central para los modelos básicos, incluidas utilidades básicas, tarjetas de modelo, licencias y políticas de uso.
PurpleLlama: componente clave de Llama Stack que se centra en los riesgos de seguridad y la mitigación del tiempo de inferencia
llama-toolchain - Desarrollo de modelos (inferencia/ajuste fino/escudos de seguridad/generación de datos sintéticos) interfaces e implementaciones canónicas
llama-agentic-system: sistema Llama Stack independiente E2E, junto con una interfaz subyacente obstinada, que permite la creación de aplicaciones agentes.
llama-recipes - Scripts e integraciones impulsados por la comunidad
Si tiene alguna pregunta, no dude en presentar un problema en cualquiera de los repositorios anteriores y haremos todo lo posible para responder de manera oportuna.
¡Gracias!
Estamos desbloqueando el poder de los grandes modelos lingüísticos. Nuestra última versión de Llama ahora es accesible para individuos, creadores, investigadores y empresas de todos los tamaños para que puedan experimentar, innovar y escalar sus ideas de manera responsable.
Esta versión incluye pesos de modelo y código inicial para modelos de lenguaje Llama 3 previamente entrenados y ajustados por instrucciones, incluidos tamaños de parámetros de 8B a 70B.
Este repositorio es un ejemplo mínimo de cómo cargar modelos de Llama 3 y ejecutar inferencia. Para ejemplos más detallados, consulte recetas con llamas.
Para descargar los pesos del modelo y el tokenizador, visite el sitio web de Meta Llama y acepte nuestra Licencia.
Una vez que se apruebe su solicitud, recibirá una URL firmada por correo electrónico. Luego, ejecute el script download.sh, pasando la URL proporcionada cuando se le solicite iniciar la descarga.
Requisitos previos: asegúrese de tener instalados wget
y md5sum
. Luego ejecute el script: ./download.sh
.
Recuerda que los enlaces caducan a las 24 horas y una determinada cantidad de descargas. Siempre puedes volver a solicitar un enlace si comienzas a ver errores como 403: Forbidden
.
También ofrecemos descargas en Hugging Face, tanto en transformadores como en formatos nativos llama3
. Para descargar los pesos de Hugging Face, siga estos pasos:
Visite uno de los repositorios, por ejemplo meta-llama/Meta-Llama-3-8B-Instruct.
Lea y acepte la licencia. Una vez que se apruebe su solicitud, se le otorgará acceso a todos los modelos de Llama 3. Tenga en cuenta que las solicitudes solían tardar hasta una hora en procesarse.
Para descargar los pesos nativos originales para usar con este repositorio, haga clic en la pestaña "Archivos y versiones" y descargue el contenido de la carpeta original
. También puedes descargarlos desde la línea de comando si pip install huggingface-hub
:
huggingface-cli descargar meta-llama/Meta-Llama-3-8B-Instruct --include "original/*" --local-dir meta-llama/Meta-Llama-3-8B-Instruct
Para usarlo con transformadores, el siguiente fragmento de canalización descargará y almacenará en caché los pesos:
importar transformadoresimportar antorchamodel_id = "meta-llama/Meta-Llama-3-8B-Instruct"pipeline = transformadores.pipeline( "text-spawn", model="meta-llama/Meta-Llama-3-8B-Instruct", model_kwargs ={"torch_dtype": antorcha.bfloat16}, dispositivo="cuda", )
Puede seguir los pasos a continuación para comenzar a utilizar los modelos Llama 3 rápidamente. Estos pasos le permitirán ejecutar una inferencia rápida localmente. Para más ejemplos, consulte el repositorio de recetas de Llama.
Clona y descarga este repositorio en un entorno conda con PyTorch/CUDA.
En el directorio de nivel superior ejecute:
instalación de pip -e.
Visita la web de Meta Llama y regístrate para descargar el/los modelo/s.
Una vez registrado, recibirás un correo electrónico con una URL para descargar los modelos. Necesitará esta URL cuando ejecute el script download.sh.
Una vez que reciba el correo electrónico, navegue hasta el repositorio de llama descargado y ejecute el script download.sh.
Asegúrese de otorgar permisos de ejecución al script download.sh
Durante este proceso, se le pedirá que ingrese la URL del correo electrónico.
No utilice la opción "Copiar enlace"; Copie el enlace del correo electrónico manualmente.
Una vez que se hayan descargado los modelos que desea, puede ejecutar el modelo localmente usando el siguiente comando:
torchrun --nproc_per_node 1 ejemplo_chat_completion.py --ckpt_dir Meta-Llama-3-8B-Instruct/ --tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model --max_seq_len 512 --max_batch_size 6
Nota
Reemplace Meta-Llama-3-8B-Instruct/
con la ruta a su directorio de puntos de control y Meta-Llama-3-8B-Instruct/tokenizer.model
con la ruta a su modelo de tokenizador.
–nproc_per_node
debe establecerse en el valor de MP para el modelo que está utilizando.
Ajuste los parámetros max_seq_len
y max_batch_size
según sea necesario.
Este ejemplo ejecuta el archivo example_chat_completion.py que se encuentra en este repositorio, pero puede cambiarlo a un archivo .py diferente.
Diferentes modelos requieren diferentes valores de modelo paralelo (MP):
Modelo | diputado |
---|---|
8B | 1 |
70B | 8 |
Todos los modelos admiten una longitud de secuencia de hasta 8192 tokens, pero asignamos previamente el caché de acuerdo con los valores max_seq_len
y max_batch_size
. Así que configúrelos de acuerdo con su hardware.
Estos modelos no están optimizados para chat o preguntas y respuestas. Se les debe incitar de manera que la respuesta esperada sea la continuación natural de la indicación.
Consulte example_text_completion.py
para ver algunos ejemplos. Para ilustrar, vea el comando a continuación para ejecutarlo con el modelo llama-3-8b ( nproc_per_node
debe configurarse en el valor MP
):
torchrun --nproc_per_node 1 example_text_completion.py --ckpt_dir Meta-Llama-3-8B/ --tokenizer_path Meta-Llama-3-8B/tokenizer.model --max_seq_len 128 --max_batch_size 4
Los modelos ajustados fueron entrenados para aplicaciones de diálogo. Para obtener las características y el rendimiento esperados, se debe seguir el formato específico definido en ChatFormat
: el mensaje comienza con un token especial <|begin_of_text|>
, después del cual siguen uno o más mensajes. Cada mensaje comienza con la etiqueta <|start_header_id|>
, el system
de rol, user
o assistant
y la etiqueta <|end_header_id|>
. Después de una doble nueva línea nn
, sigue el contenido del mensaje. El final de cada mensaje está marcado por el token <|eot_id|>
.
También puede implementar clasificadores adicionales para filtrar entradas y salidas que se consideren inseguras. Consulte el repositorio llama-recipes para ver un ejemplo de cómo agregar un verificador de seguridad a las entradas y salidas de su código de inferencia.
Ejemplos de uso de llama-3-8b-chat:
torchrun --nproc_per_node 1 example_chat_completion.py --ckpt_dir Meta-Llama-3-8B-Instruct/ --tokenizer_path Meta-Llama-3-8B-Instruct/tokenizer.model --max_seq_len 512 --max_batch_size 6
Llama 3 es una nueva tecnología que conlleva riesgos potenciales con su uso. Las pruebas realizadas hasta la fecha no han cubierto (ni podrían) cubrir todos los escenarios. Para ayudar a los desarrolladores a abordar estos riesgos, hemos creado la Guía de uso responsable.
Informe cualquier “error” de software u otros problemas con los modelos a través de uno de los siguientes medios:
Reportar problemas con el modelo: https://github.com/meta-llama/llama3/issues
Denunciar contenido riesgoso generado por el modelo:developers.facebook.com/llama_output_feedback
Informar errores y preocupaciones de seguridad: facebook.com/whitehat/info
Consulte MODEL_CARD.md.
Nuestro modelo y ponderaciones están autorizados para investigadores y entidades comerciales, manteniendo los principios de apertura. Nuestra misión es empoderar a las personas y a la industria a través de esta oportunidad y al mismo tiempo fomentar un entorno de descubrimiento y avances éticos en la IA.
Consulte el archivo de LICENCIA, así como nuestra Política de uso aceptable que lo acompaña.
Para preguntas comunes, las preguntas frecuentes se pueden encontrar aquí, que se actualizarán con el tiempo a medida que surjan nuevas preguntas.