journalctl -u micro
103 subscribers
2.39K photos
235 videos
294 files
1.63K links
Esperienze e consigli di uno sviluppatore tech−unenthusiast

creation — 2021-04-29
owner — @Microeinstein

networks
@sigma_hub Σ
@ageiroumena
Download Telegram
Dato che lo faccio per lavoro non vedo perché non condividere info di AI

Guida completa per ottimizzare i parametri di utilizzo hardware su Ollama
https://github.com/jameschrisa/Ollama_Tuning_Guide

È possibile anche allocare parti di modelli sia su VRAM, che RAM, che disco (via memory-map). Velocizzare la generazione di token (batch) e tanto altro. Ci sono anche degli script che dovrebbero calcolare l'allineamento di astri per il proprio setup.

Poi in parallelo qualcuno mi disse che Ollama è essenzialmente la versione marketing e più lenta [?] di llama.cpp, anche lui con parametri equivalenti di distribuzione e generazione
https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md

(altro pro di llama.cpp: scarica direttamente i modelli da HuggingFace) Lo può fare anche Ollama
3
Appunti real-time AI
Da non prendere come oro colato, non esaustivi
Si ringrazia @Valentimarco

llama.cpp
• fighissimo, veloce, FOSS
• da pochi mesi ha anche un'interfaccia web
• ora è anche OpenAI-API compatibile
• pensato per tutto
• distribuiscono delle release ma consigliano di ricompilarlo perché spesso le librerie dinamiche si rompono

vllm
• heavy-fork di llama.cpp
• principalmente python
• variante TGI (Text Generation Inference): distribuisce su più GPU ma non supporta modelli quantizzati
(copia stronza di ray)
• pensato per enterprise

ollama
• usano un loro fork di llama.cpp ma non lo dichiarano
• hanno problemi con la community FOSS
• meme corporate
• piani cloud
• nasce per consumer

LM studio
• closed source, utilizza llama.cpp upstream
• nasce per consumer

FastFlowLM
• programma FOSS, kernel closed
• richiede modelli appositi
• pensato per la generazione su NPU AMD

CUDA / vulkan / ROCm / MLX / ...
• varie API hardware di GPGPU
• generalmente è meglio / più veloce CUDA, anche se NVIDIA ha peggiorato le performance su schede vecchie

Training
• generalmente i modelli sono allenati su qualsiasi tipo di testo, da qualsiasi fonte
• copiano tutti i bias contenuti in essi
• da questo emerge che suonano molto convincenti
• modelli piccoli sono perfetti per essere specializzati
• modelli grandi sono più generalisti ma tendono a essere inutilmente verbosi (pensano troppo)
• verbosità mitigabile con fine-tuning + reinforcement learning

———————

LLM
• tensori + kv-cache
• auto-regressivi — ad ogni token generato rileggono tutto il contenuto per prevedere il prossimo
• la regressione si ferma alla generazione di un token speciale di fine
• temperatura — verranno scelti token meno probabili in modo proporzionale
• ci sono altri parametri di controllo dei token
• one-shot — nessun esempio nel prompt
• few-shots — qualche esempio nel prompt

quantizzazione
• ogni neurone ha un numero di partenza float a 16bit
• più si tolgono bit dopo il training, meno accuratezza si avrà (si perdono informazioni)
• risparmio notevole di memoria
• trivia: quando escono nuovi modelli proprietari, riquantizzano quelli vecchi

contesto
• finestra di lettura/scrittura dei modelli
• richiede memoria extra fissa
• non può superare il limite di dimensione del training
• superata una certa soglia inizia a fare fatica

tensori (rete neurale)
• tensori, solo calcoli vettoriali
• velocissima anche su CPU con estensioni AVX
• anche su ARM se quantizzato a 8bit (ed estensioni equivalenti)

kv-cache (attenzione)
• vero nucleo di attenzione degli LLM
• utilizzato per distinguere più significati sulle medesime parole (estrema semplificazione)
• dizionario che si espande man mano che il modello gira
• può espandersi a dismisura
• richiede tantissima banda e per questo va sempre caricato tutto in GPU

flash-attention
• ottimizza via i neuroni mai utilizzati
• risparmia memoria
• c'è ormai in tutti i modelli
• di solito da attivare esplicitamente

multi-token prediction (mtp)
• il modello permette di generare più token allo stesso momento
• supportato solo da qwen ≥3.5 e nemotron
• velocizza la generazione e riduce ulteriormente la memoria (li raggruppa)

turboquant
• compressione della kv-cache fino a 4bit tramite rotazione polare dei vettori
• nessuna perdita di informazioni

mixture of experts (moe)
• uno stesso modello gigantesco ha al suo interno tanti vari modelli più piccoli specializzati
• rete neurale di partenza per routing
3🙏1
Mappe e algoritmi per visualizzare dibattiti, supposizioni, argomenti a favore e obbiezioni — per non continuare a ripeterli ad infinitum

https://en.wikipedia.org/wiki/Argument_map

https://en.wikiversity.org/wiki/Debate_algorithm

https://www.kialo.com — piattaforma collaborativa

https://argdown.org — tipo mermaidjs, sintassi strana
source
Grazie a @humoristick che certi giorni le ha tutte e sedici.
source
Grazie a @humoristick che certi giorni le ha tutte e sedici.