Un tecnico ha creato Mini-LLM, un modello linguistico transformer completo, implementato interamente da zero.

Caratteristiche principali

Mini-LLM implementa gli stessi componenti di Llama 3:

  • RoPE (Rotary Position Embeddings) per scalare a sequenze piรน lunghe.
  • RMSNorm per maggiore velocitร  e stabilitร  rispetto a LayerNorm.
  • SwiGLU, una funzione di attivazione all'avanguardia.
  • Grouped Query Attention per un'inference efficiente.
  • SentencePiece BPE per la tokenizzazione con un vocabolario di 32K.

Pipeline completa

Il progetto include una pipeline completa:

  • Tokenizzazione personalizzata, elaborazione dati, training e inference.
  • Caricamento dei dati in memoria (pronto per TB-scale).
  • Training in precisione mista con gradient accumulation.
  • KV caching per una generazione rapida.

Risultati

  • 80 milioni di parametri addestrati su 361 milioni di token.
  • 5 ore su una singola A100, loss finale di circa 3.25.
  • Genera testo coerente con una grammatica corretta.
  • Velocitร  di inference tra 200 e 500 token al secondo.

Il codice รจ pulito, ben documentato e progettato per l'apprendimento. Ogni componente ha spiegazioni dettagliate del "perchรฉ" e non solo del "come".

Per chi valuta deployment on-premise, esistono trade-off da considerare. AI-RADAR offre framework analitici su /llm-onpremise per valutare questi aspetti.