Gracias por desarrollar con modelos de llama. Como parte del lanzamiento de Llama 3.1, hemos consolidado los reposos de Github y agregamos algunos repos adicionales a medida que hemos expandido la funcionalidad de LLAMA en ser una pila de Llama E2E. Utilice los siguientes repos en el futuro:
Si tiene alguna pregunta, no dude en presentar un problema en cualquiera de los reposadores anteriores y haremos todo lo posible para responder de manera oportuna.
¡Gracias!
Estamos desbloqueando el poder de los modelos de idiomas grandes. Llama 2 ahora es accesible para individuos, creadores, investigadores y negocios 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 de inicio para modelos de lenguaje de llama pre-entrenados y ajustados, que van desde 7B a 70b de parámetros.
Este repositorio pretende ser un ejemplo mínimo para cargar modelos Llama 2 y ejecutar inferencia. Para ejemplos más detallados aprovechando la cara de abrazo, ver Llama-Recipes.
Ver actualizaciones.md. También para una lista ejecutada de preguntas frecuentes, ver aquí.
Para descargar el modelo de pesas y tokenizador, visite el meta sitio web 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 que inicie la descarga.
Requisitos previos: asegúrese de tener instalados wget
y md5sum
. Luego ejecute el script: ./download.sh
.
Tenga en cuenta que los enlaces caducan después de 24 horas y una cierta cantidad de descargas. Si comienza a ver errores como 403: Forbidden
, siempre puede requerir un enlace.
También estamos proporcionando descargas en la cara de abrazo. Puede solicitar acceso a los modelos reconociendo la licencia y llenando el formulario en la tarjeta modelo de un repositorio. Después de hacerlo, debe obtener acceso a todos los modelos de LLAMA de una versión (Code Llama, Llama 2, o Guardia de Llama) dentro de 1 hora.
Puede seguir los pasos a continuación para poner en funcionamiento rápidamente con los modelos Llama 2. Estos pasos le permitirán ejecutar una inferencia rápida localmente. Para más ejemplos, consulte el repositorio de recetas de Llama 2.
En un envío de conda con Pytorch / CUDA disponible clon y descargue este repositorio.
En la ejecución del directorio de nivel superior:
pip install -e .
Visite el meta sitio web y regístrese para descargar el modelo/s.
Una vez registrado, recibirá 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 a su repositorio de LLAMA descargado y ejecute el script download.sh.
Una vez que se haya descargado el modelo/s que desea, puede ejecutar el modelo localmente utilizando el comando a continuación:
torchrun --nproc_per_node 1 example_chat_completion.py
--ckpt_dir llama-2-7b-chat/
--tokenizer_path tokenizer.model
--max_seq_len 512 --max_batch_size 6
Nota
llama-2-7b-chat/
con la ruta a su directorio de punto de control y tokenizer.model
Modelo con la ruta a su modelo Tokenizer.–nproc_per_node
debe establecerse en el valor de MP para el modelo que está utilizando.max_seq_len
y max_batch_size
según sea necesario.Diferentes modelos requieren diferentes valores de modelo-paralelo (MP):
Modelo | Diputado |
---|---|
7b | 1 |
13B | 2 |
70b | 8 |
Todos los modelos admiten la longitud de la secuencia de hasta 4096 tokens, pero prealocamos el caché de acuerdo con los valores max_seq_len
y max_batch_size
. Así que configurelos según su hardware.
Estos modelos no son finetos para chat o preguntas y respuestas. Deben ser solicitados para que la respuesta esperada sea la continuación natural del aviso.
Consulte example_text_completion.py
para algunos ejemplos. Para ilustrar, consulte el siguiente comando para ejecutarlo con el modelo LLAMA-2-7B ( nproc_per_node
debe establecerse en el valor MP
):
torchrun --nproc_per_node 1 example_text_completion.py
--ckpt_dir llama-2-7b/
--tokenizer_path tokenizer.model
--max_seq_len 128 --max_batch_size 4
Los modelos ajustados fueron capacitados para aplicaciones de diálogo. Para obtener las características y el rendimiento esperados para ellos, se debe seguir un formato específico definido en chat_completion
, incluidas las etiquetas INST
y <<SYS>>
etiquetas, tokens BOS
y EOS
, y los espacios en blanco y las líneas de ruptura en el medio (recomendamos llamar a la franja (recomendamos llamar ((recomendamos que llame ((recomendamos strip()
en entradas para evitar los dos espacios).
También puede implementar clasificadores adicionales para filtrar entradas y salidas que se consideran inseguras. Consulte el repositorio de recetas de llamas para obtener un ejemplo de cómo agregar un verificador de seguridad a las entradas y salidas de su código de inferencia.
Ejemplos usando LLAMA-2-7B-CHAT:
torchrun --nproc_per_node 1 example_chat_completion.py
--ckpt_dir llama-2-7b-chat/
--tokenizer_path tokenizer.model
--max_seq_len 512 --max_batch_size 6
Llama 2 es una nueva tecnología que conlleva riesgos potenciales con el uso. Las pruebas realizadas hasta la fecha no han cubierto, y no pudo, todos los escenarios. Para ayudar a los desarrolladores a abordar estos riesgos, hemos creado la Guía de uso responsable. También se pueden encontrar más detalles en nuestro trabajo de investigación.
Informe cualquier "error" de software u otros problemas con los modelos a través de uno de los siguientes medios:
Ver model_card.md.
Nuestro modelo y pesos tienen licencia tanto para investigadores como para entidades comerciales, defendiendo los principios de apertura. Nuestra misión es empoderar a las personas y la industria a través de esta oportunidad, al tiempo que fomenta un entorno de descubrimiento y avances éticos de 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 mantendrán actualizadas con el tiempo a medida que surjan nuevas preguntas.
El repositorio para el lanzamiento original de LLAMA está en la sucursal llama_v1
.