ArtificialGuyBR

Home / Blog / Fixing things

Llama3 8B Redmond Code290k: Generación de Código Ajustado Fino

Modelo LLaMA 3 8B ajustado fino para generación de código en Python, Java, Go y más

1 sources cited Fixing things

Llama3 8B Redmond Code290k: Generación de Código mediante Ajuste Fino

TL;DR

  • Ajustado fino desde NousResearch/Meta-Llama-3-8B en 290k conversaciones enfocadas en código
  • Soporta Python, Java, JavaScript, Go, C++, Rust, Ruby, SQL y más
  • Entrenado con Axolotl, Adam de 8 bits, flash attention, contexto de 8K

Qué Hace Este Modelo

Llama3 8B Redmond Code290k toma LLaMA 3 8B y lo especializa para generación y explicación de código. Mientras que LLaMA 3 es un modelo de propósito general, esta variante agudiza la calidad de la salida de código entrenando en casi 300k pares instrucción-respuesta en formato Vicuna/ShareGPT.

Detalles del Entrenamiento

Entrenado con Axolotl v0.4.0:

  • Dataset: ajibawa-2023/Code-290k-ShareGPT (~290,000 conversaciones)
  • Tasa de aprendizaje: 2e-05 con programación coseno, 100 pasos de calentamiento
  • Épocas: 3 (2 según documentación de hiperparámetros)
  • Longitud de contexto: 8192 tokens
  • Optimizador: Adam de 8 bits con gradient checkpointing y flash attention
  • Hardware: Soporte GPU cortesía de Redmond.ai

Cómo Usar

from transformers import pipeline

generator = pipeline(
    "text-generation",
    model="artificialguybr/llama3-8b-redmond-code290k",
    max_new_tokens=512,
)

prompt = "Write a Python function that reverses a linked list."
result = generator(prompt)
print(result[0]["generated_text"])

El modelo también es compatible con endpoints y funciona con despliegues de text-generation-inference.

Lenguajes Soportados

Python, Java, JavaScript, Go, C++, Rust, Ruby, SQL, MySQL, R, Julia, Haskell, y otros incluidos en el dataset de entrenamiento.

Limitaciones

  • Rendimiento reducido en lenguajes de programación raros o de nicho
  • Puede no generalizar a estilos o convenciones de codificación no vistos
  • Dificultades con código extremadamente complejo o casos límite
  • Explicaciones limitadas para conceptos altamente abstractos o teóricos

Fuentes