Este repositorio contiene el código para desarrollar, preparar previamente y perfeccionar un LLM similar a GPT y es el repositorio de código oficial del libro Build a Large Language Model (From Scratch).
En Construya un modelo de lenguaje grande (desde cero) , aprenderá y comprenderá cómo funcionan los modelos de lenguaje grande (LLM) desde adentro hacia afuera codificándolos desde cero, paso a paso. En este libro, lo guiaré en la creación de su propio LLM, explicando cada etapa con texto claro, diagramas y ejemplos.
El método descrito en este libro para entrenar y desarrollar su propio modelo pequeño pero funcional con fines educativos refleja el enfoque utilizado en la creación de modelos fundamentales a gran escala, como los que se encuentran detrás de ChatGPT. Además, este libro incluye código para cargar los pesos de modelos preentrenados más grandes para realizar ajustes.
Para descargar una copia de este repositorio, haga clic en el botón Descargar ZIP o ejecute el siguiente comando en su terminal:
git clone --depth 1 https://github.com/rasbt/LLMs-from-scratch.git
(Si descargó el paquete de código del sitio web de Manning, considere visitar el repositorio de código oficial en GitHub en https://github.com/rasbt/LLMs-from-scratch para obtener las últimas actualizaciones).
Tenga en cuenta que este archivo README.md
es un archivo Markdown ( .md
). Si descargó este paquete de código del sitio web de Manning y lo está viendo en su computadora local, le recomiendo usar un editor Markdown o una vista previa para una visualización adecuada. Si aún no ha instalado un editor Markdown, MarkText es una buena opción gratuita.
Alternativamente, puede ver este y otros archivos en GitHub en https://github.com/rasbt/LLMs-from-scratch en su navegador, lo que representa Markdown automáticamente.
Consejo
Si busca orientación sobre cómo instalar Python y paquetes de Python y cómo configurar su entorno de código, le sugiero que lea el archivo README.md ubicado en el directorio de instalación.
Título del capítulo | Código principal (para acceso rápido) | Todo el código + suplementario |
---|---|---|
Recomendaciones de configuración | - | - |
Capítulo 1: Comprensión de los modelos de lenguaje grandes | Sin código | - |
Capítulo 2: Trabajar con datos de texto | - ch02.ipynb - dataloader.ipynb (resumen) - soluciones-ejercicio.ipynb | ./ch02 |
Capítulo 3: Codificación de mecanismos de atención | - ch03.ipynb - multihead-attention.ipynb (resumen) - soluciones-ejercicio.ipynb | ./ch03 |
Capítulo 4: Implementación de un modelo GPT desde cero | - ch04.ipynb - gpt.py (resumen) - soluciones-ejercicio.ipynb | ./ch04 |
Capítulo 5: Entrenamiento previo sobre datos sin etiquetar | - ch05.ipynb - gpt_train.py (resumen) - gpt_generate.py (resumen) - soluciones-ejercicio.ipynb | ./ch05 |
Capítulo 6: Ajuste de la clasificación de texto | - ch06.ipynb - gpt_class_finetune.py - soluciones-ejercicio.ipynb | ./ch06 |
Capítulo 7: Ajuste para seguir instrucciones | - ch07.ipynb - gpt_instruction_finetuning.py (resumen) - ollama_evaluate.py (resumen) - soluciones-ejercicio.ipynb | ./ch07 |
Apéndice A: Introducción a PyTorch | - código-parte1.ipynb - código-parte2.ipynb - DDP-script.py - soluciones-ejercicio.ipynb | ./apéndice-A |
Apéndice B: Referencias y lecturas adicionales | Sin código | - |
Apéndice C: Soluciones de ejercicios | Sin código | - |
Apéndice D: Agregar detalles al circuito de entrenamiento | - apéndice-D.ipynb | ./apéndice-D |
Apéndice E: Ajuste eficiente de parámetros con LoRA | - apéndice-E.ipynb | ./apéndice-E |
El siguiente modelo mental resume los contenidos tratados en este libro.
El código de los capítulos principales de este libro está diseñado para ejecutarse en portátiles convencionales en un plazo de tiempo razonable y no requiere hardware especializado. Este enfoque garantiza que una amplia audiencia pueda interactuar con el material. Además, el código utiliza automáticamente GPU si están disponibles. (Consulte el documento de configuración para obtener recomendaciones adicionales).
Varias carpetas contienen materiales opcionales como beneficio adicional para los lectores interesados:
Agradezco todo tipo de comentarios, que se comparten mejor a través del Foro de Manning o las Discusiones de GitHub. Del mismo modo, si tienes alguna pregunta o simplemente quieres compartir ideas con otros, no dudes en publicarlas también en el foro.
Tenga en cuenta que dado que este repositorio contiene el código correspondiente a un libro impreso, actualmente no puedo aceptar contribuciones que amplíen el contenido del código del capítulo principal, ya que introduciría desviaciones del libro físico. Mantenerlo constante ayuda a garantizar una experiencia fluida para todos.
Si encuentra este libro o código útil para su investigación, considere citarlo.
Cita al estilo de Chicago:
Raschka, Sebastián. Cree un modelo de lenguaje grande (desde cero) . Manning, 2024. ISBN: 978-1633437166.
Entrada BibTeX:
@book{build-llms-from-scratch-book,
author = {Sebastian Raschka},
title = {Build A Large Language Model (From Scratch)},
publisher = {Manning},
year = {2024},
isbn = {978-1633437166},
url = {https://www.manning.com/books/build-a-large-language-model-from-scratch},
github = {https://github.com/rasbt/LLMs-from-scratch}
}