Fine-tuning vs Lora vs RAG

Fine-tuning vs Lora vs RAG

Fine-tuning vs LoRA vs RAG: Guida Tecnica Completa per l’Ottimizzazione dei Large Language Models

Introduzione: L’Evoluzione dell’Addestramento dei Modelli AI

L’addestramento dei modelli di intelligenza artificiale, in particolare dei Large Language Models (LLM), rappresenta una delle sfide più rilevanti nell’ambito del machine learning moderno. I modelli pre-addestrati come GPT, LLaMA, Mistral e molti altri offrono capacità straordinarie out-of-the-box, ma necessitano spesso di personalizzazione per adattarsi a domini specifici, compiti particolari o dati proprietari aziendali.

Tradizionalmente, l’adattamento di un modello pre-addestrato richiedeva il fine-tuning completo: un processo computazionalmente costoso che implica il riaddestramento di tutti i parametri del modello su dataset specifici. Questo approccio, sebbene efficace, presenta limitazioni significative in termini di risorse hardware, tempo di training e costi operativi, soprattutto quando si lavora con modelli che contano miliardi di parametri.

Negli ultimi anni sono emerse due tecniche innovative che stanno rivoluzionando il panorama dell’adattamento dei LLM: LoRA (Low-Rank Adaptation) e RAG (Retrieval-Augmented Generation). Queste metodologie offrono alternative più efficienti e scalabili al fine-tuning tradizionale, ciascuna con caratteristiche, vantaggi e casi d’uso specifici.

In questo articolo tecnico, analizzeremo in profondità queste tre approcci, confrontandone le caratteristiche, esplorando implementazioni pratiche in Python e fornendo linee guida strategiche per scegliere la soluzione più adatta alle vostre esigenze aziendali.

Fine-tuning Completo: La Base di Partenza – Fine-tuning vs Lora vs RAG

Cosa è il Fine-tuning

Il fine-tuning completo (full-parameter fine-tuning) è il processo mediante il quale si continua l’addestramento di un modello pre-addestrato su un dataset specifico, aggiornando tutti i pesi del modello. Questo approccio modifica l’intera rete neurale per adattarla a compiti specifici o domini particolari.

Come Funziona – Fine-tuning vs Lora vs RAG

Durante il fine-tuning, ogni parametro del modello viene aggiornato attraverso backpropagation, utilizzando i gradienti calcolati rispetto alla loss function sul nuovo dataset. Il processo richiede:

  • Memoria GPU consistente: per memorizzare i gradienti e gli stati dell’optimizer per ogni parametro
  • Tempo di training significativo: proporzionale alla dimensione del modello
  • Dataset di qualità: dati etichettati sufficienti per il compito specifico

Implementazione Python: Fine-tuning con Hugging Face – Fine-tuning vs Lora vs RAG

from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments, Trainer
from datasets import load_dataset

# Caricamento del modello pre-addestrato
model_name = "gpt2"  # O qualsiasi altro modello
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)

# Preparazione del dataset
dataset = load_dataset("your_dataset")

def tokenize_function(examples):
    return tokenizer(examples["text"], truncation=True, padding="max_length", max_length=512)

tokenized_dataset = dataset.map(tokenize_function, batched=True)

# Configurazione del training
training_args = TrainingArguments(
    output_dir="./full-finetuned-model",
    num_train_epochs=3,
    per_device_train_batch_size=4,
    per_device_eval_batch_size=4,
    warmup_steps=500,
    weight_decay=0.01,
    logging_dir="./logs",
    logging_steps=10,
    save_steps=1000,
    evaluation_strategy="steps",
    eval_steps=500,
)

# Inizializzazione del Trainer
trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=tokenized_dataset["train"],
    eval_dataset=tokenized_dataset["validation"],
)

# Avvio del fine-tuning
trainer.train()

# Salvataggio del modello fine-tuned
model.save_pretrained("./full-finetuned-model-final")
tokenizer.save_pretrained("./full-finetuned-model-final")

Vantaggi e Svantaggi – Fine-tuning vs Lora vs RAG

Vantaggi:

  • Massima personalizzazione del modello
  • Eccellenti performance per compiti specifici
  • Il modello apprende stile e pattern dei dati aziendali

Svantaggi:

  • Richiede risorse computazionali massive (GPU/TPU di fascia alta)
  • Tempo di training molto lungo (ore o giorni)
  • Costi elevati, specialmente su cloud
  • Difficile mantenere più versioni del modello
  • Risk di overfitting su dataset piccoli

LoRA (Low-Rank Adaptation): Efficienza Parametrica – Fine-tuning vs Lora vs RAG

Cosa è LoRA

LoRA è una tecnica di Parameter-Efficient Fine-Tuning (PEFT) proposta nel paper “LoRA: Low-Rank Adaptation of Large Language Models” (2021). L’idea fondamentale è che gli aggiornamenti ai pesi durante il fine-tuning hanno una “dimensionalità intrinseca” bassa, quindi possono essere rappresentati in modo efficiente attraverso decomposizione a basso rango.

Come Funziona: La Matematica di LoRA – Fine-tuning vs Lora vs RAG

Invece di aggiornare direttamente la matrice dei pesi W (di dimensione d×k), LoRA mantiene W congelata e introduce due matrici più piccole trainabili:

  • Matrice A: dimensione d×r (inizializzata con distribuzione gaussiana)
  • Matrice B: dimensione r×k (inizializzata a zero)

Dove r (rank) è molto più piccolo di d e k (tipicamente r = 4, 8, 16 o 32).

L’output finale diventa:

h = Wx + BAx = Wx + ΔWx

Dove ΔW = BA rappresenta l’aggiornamento a basso rango. Al termine del training, LoRA può essere “fusa” con i pesi originali: W’ = W + BA, eliminando qualsiasi overhead inferenziale.

Implementazione Python: LoRA con PEFT

from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments, Trainer
from peft import LoraConfig, get_peft_model, TaskType
from datasets import load_dataset

# Caricamento del modello base
model_name = "meta-llama/Llama-2-7b-hf"  # Esempio con LLaMA
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    device_map="auto",
    torch_dtype="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)

# Configurazione LoRA
lora_config = LoraConfig(
    task_type=TaskType.CAUSAL_LM,
    r=8,                          # Rank delle matrici LoRA
    lora_alpha=32,                # Scaling factor
    lora_dropout=0.1,             # Dropout per regolarizzazione
    target_modules=[              # Moduli da adattare
        "q_proj",
        "k_proj", 
        "v_proj",
        "o_proj",
    ],
    bias="none",
    inference_mode=False,
)

# Applicazione di LoRA al modello
model = get_peft_model(model, lora_config)

# Visualizza i parametri trainabili
model.print_trainable_parameters()
# Output tipico: "trainable params: 4,194,304 || all params: 6,742,609,920 || trainable%: 0.062"

# Preparazione dataset (come nell'esempio precedente)
dataset = load_dataset("your_dataset")

def tokenize_function(examples):
    return tokenizer(examples["text"], truncation=True, padding="max_length", max_length=512)

tokenized_dataset = dataset.map(tokenize_function, batched=True)

# Training Arguments
training_args = TrainingArguments(
    output_dir="./lora-model",
    num_train_epochs=3,
    per_device_train_batch_size=8,  # Batch size più grande grazie a LoRA
    gradient_accumulation_steps=4,
    learning_rate=2e-4,
    logging_steps=10,
    save_steps=500,
    save_total_limit=3,
)

# Training
trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=tokenized_dataset["train"],
    eval_dataset=tokenized_dataset["validation"],
)

trainer.train()

# Salvataggio degli adapter LoRA (solo pochi MB!)
model.save_pretrained("./lora-adapter")

# Per l'inferenza, si possono fondere i pesi
model = model.merge_and_unload()
model.save_pretrained("./lora-merged-model")

Vantaggi e Svantaggi di LoRA – Fine-tuning vs Lora vs RAG

Vantaggi:

  • Riduzione drastica dei parametri trainabili (fino al 99.9%)
  • Requisiti di memoria GPU ridotti di circa 3x
  • Training molto più veloce rispetto al fine-tuning completo
  • Gli adapter LoRA sono piccoli (pochi MB) e facilmente condivisibili
  • Possibilità di caricare múltipli adapter su un singolo modello base
  • Nessun overhead inferenziale dopo il merge

Svantaggi:

  • Performance leggermente inferiori rispetto al fine-tuning completo in alcuni casi
  • Richiede comprensione dei parametri (rank, alpha, target modules)
  • Non adatto per modifiche radicali del comportamento del modello

RAG (Retrieval-Augmented Generation): Conoscenza Esterna Dinamica

Cosa è RAG

RAG è un paradigma architetturale che combina il potere generativo dei LLM con sistemi di retrieval informativo. Invece di modificare i pesi del modello, RAG arricchisce il prompt con informazioni rilevanti recuperate da una knowledge base esterna in tempo reale.

Come Funziona: L’Architettura RAG

Il pipeline RAG si articola in diverse fasi:

  1. Indexing (Offline):
    • I documenti vengono suddivisi in chunks
    • Ogni chunk viene trasformato in un embedding vettoriale
    • Gli embeddings vengono memorizzati in un vector database (Pinecone, Weaviate, ChromaDB, FAISS)
  2. Retrieval (Runtime):
    • La query dell’utente viene convertita in embedding
    • Si esegue una similarity search nel vector database
    • Si recuperano i K documenti più rilevanti
  3. Augmentation:
    • I documenti recuperati vengono inseriti nel prompt
    • Il contesto arricchito viene passato al LLM
  4. Generation:
    • Il LLM genera la risposta basandosi sul contesto fornito

Implementazione Python: RAG con LangChain

from langchain.document_loaders import TextLoader, DirectoryLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.embeddings import HuggingFaceEmbeddings
from langchain.vectorstores import FAISS
from langchain.llms import HuggingFacePipeline
from langchain.chains import RetrievalQA
from langchain.prompts import PromptTemplate
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline

# 1. CARICAMENTO E CHUNKING DEI DOCUMENTI
loader = DirectoryLoader('./documents/', glob="**/*.txt", loader_cls=TextLoader)
documents = loader.load()

text_splitter = RecursiveCharacterTextSplitter(
    chunk_size=500,
    chunk_overlap=50,
    length_function=len,
)
chunks = text_splitter.split_documents(documents)

print(f"Documenti suddivisi in {len(chunks)} chunks")

# 2. CREAZIONE DEGLI EMBEDDINGS
embeddings = HuggingFaceEmbeddings(
    model_name="sentence-transformers/all-MiniLM-L6-v2",
    model_kwargs={'device': 'cuda' if torch.cuda.is_available() else 'cpu'}
)

# 3. CREAZIONE DEL VECTOR STORE
vectorstore = FAISS.from_documents(chunks, embeddings)

# Salvataggio per riutilizzo futuro
vectorstore.save_local("./vectorstore_index")

# 4. CONFIGURAZIONE DEL LLM
model_name = "meta-llama/Llama-2-7b-chat-hf"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    device_map="auto",
    torch_dtype=torch.float16,
)

pipe = pipeline(
    "text-generation",
    model=model,
    tokenizer=tokenizer,
    max_new_tokens=512,
    temperature=0.7,
    top_p=0.95,
)

llm = HuggingFacePipeline(pipeline=pipe)

# 5. CREAZIONE DEL PROMPT TEMPLATE
prompt_template = """Usa le seguenti informazioni contestuali per rispondere alla domanda. 
Se non conosci la risposta, di' semplicemente che non lo sai, non cercare di inventare una risposta.

Contesto: {context}

Domanda: {question}

Risposta dettagliata:"""

PROMPT = PromptTemplate(
    template=prompt_template,
    input_variables=["context", "question"]
)

# 6. CREAZIONE DELLA CATENA RAG
qa_chain = RetrievalQA.from_chain_type(
    llm=llm,
    chain_type="stuff",
    retriever=vectorstore.as_retriever(search_kwargs={"k": 3}),
    return_source_documents=True,
    chain_type_kwargs={"prompt": PROMPT}
)

# 7. UTILIZZO DEL SISTEMA RAG
query = "Quali sono i principali vantaggi della tecnologia X?"
result = qa_chain({"query": query})

print("Risposta:", result['result'])
print("\nDocumenti fonte:")
for doc in result['source_documents']:
    print(f"- {doc.metadata['source']}")

Esempio RAG Semplificato con OpenAI

from langchain.document_loaders import DirectoryLoader, TextLoader
from langchain.text_splitter import CharacterTextSplitter
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores import Chroma
from langchain.chat_models import ChatOpenAI
from langchain.chains import ConversationalRetrievalChain
import os

# Configurazione API Key
os.environ["OPENAI_API_KEY"] = "your-api-key"

# Caricamento documenti
loader = DirectoryLoader('./docs', glob="**/*.txt", loader_cls=TextLoader)
documents = loader.load()

# Text splitting
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
docs = text_splitter.split_documents(documents)

# Embeddings e Vector Store
embeddings = OpenAIEmbeddings()
vectorstore = Chroma.from_documents(docs, embeddings)

# LLM e Chain
llm = ChatOpenAI(temperature=0, model="gpt-4")
qa = ConversationalRetrievalChain.from_llm(
    llm,
    vectorstore.as_retriever(),
    return_source_documents=True
)

# Query
chat_history = []
query = "Spiegami il concetto principale discusso nei documenti"
result = qa({"question": query, "chat_history": chat_history})

print(result['answer'])

Vantaggi e Svantaggi di RAG

Vantaggi:

  • Nessun training richiesto: si lavora con modelli pre-addestrati
  • Aggiornamenti in tempo reale: basta aggiornare il database vettoriale
  • Tracciabilità: ogni risposta può citare le fonti
  • Riduzione delle allucinazioni: il modello si basa su informazioni concrete
  • Costi ridotti: nessun GPU per training, solo per inferenza
  • Scalabilità: facile aggiungere nuovi documenti
  • Implementazione rapida: operativo in pochi minuti

Svantaggi:

  • Dipendenza dalla qualità del retrieval: se i documenti rilevanti non vengono trovati, la risposta sarà inadeguata
  • Latenza maggiore: overhead del processo di retrieval
  • Limitazioni del contesto: vincolo dalla context window del LLM
  • Costi di inferenza: ogni query richiede una chiamata al LLM
  • Complessità nell’ottimizzazione: chunk size, numero di risultati, algoritmi di ranking

Tabella di Confronto Dettagliata – Fine-tuning vs Lora vs RAG

CriterioFine-tuning CompletoLoRARAG
Parametri Trainabili100% dei parametri0.1-1% dei parametri0% (nessun training)
Memoria GPU TrainingMolto alta (80GB+)Media (24-40GB)Nessuna
Tempo di TrainingGiorni-SettimaneOre-GiorniNessuno (setup minuti)
Costi ComputazionaliMolto alti ($1000s)Medi ($100s)Bassi (solo inferenza)
Dimensione Modello FinaleIntera copia del modello (GB)Adapter piccoli (MB)Solo database vettoriale
Aggiornamento ConoscenzaRichiede re-trainingRichiede re-trainingImmediato (update DB)
Performance su Task SpecificiEccellenteMolto buonaBuona
Adattamento Stile/TonoEccellenteMolto buonoLimitato
Conoscenza Domain-SpecificInternalizzataInternalizzataEsterna (richiede retrieval)
Tracciabilità FontiNoNo
Rischio AllucinazioniMedio-AltoMedioBasso (con buon retrieval)
Latenza InferenzaBassaBassaMedia-Alta
Scalabilità ConoscenzaDifficileDifficileFacile
Complessità ImplementativaAltaMediaBassa-Media
MaintenanceAltaMediaBassa
Multiple TasksRichiede modelli separatiAdapter multipli su base comuneUn sistema per tutti
Hardware RequiredGPU enterpriseGPU prosumer-enterpriseCPU/GPU consumer
Best ForCambio profondo comportamentoTask specifici ripetitiviQ&A, knowledge base

Quando Usare Ciascun Approccio: Decision Framework

Usa Fine-tuning Completo quando:

  • Hai bisogno di modificare radicalmente il comportamento del modello
  • Vuoi che il modello impari uno stile di scrittura molto specifico
  • Lavori su task ben definiti con performance critiche
  • Hai dati etichettati abbondanti e di qualità
  • Disponi di budget e infrastruttura adeguati (GPU A100/H100)
  • La conoscenza deve essere completamente internalizzata nel modello
  • Il modello deve operare senza accesso a risorse esterne

Esempi pratici:

  • Chatbot con personalità aziendale distintiva
  • Modelli per generazione codice in linguaggi proprietari
  • Sistemi di traduzione altamente specializzati
  • Content generation con tone of voice unico

Usa LoRA quando:

  • Vuoi il meglio del fine-tuning con budget limitato
  • Devi adattare il modello a múltipli task correlati
  • Hai GPU di fascia consumer/prosumer (RTX 3090, 4090, A40)
  • Vuoi tempi di training ragionevoli (ore invece di giorni)
  • Necessiti di versioning e sperimentazione rapida
  • Il task richiede adattamento ma non stravolgimento
  • Vuoi condividere adapter con la community

Esempi pratici:

  • Chatbot multi-lingua con adapter per ogni lingua
  • Classificazione di testi tecnici settoriali
  • Summarization personalizzata per diversi stili
  • Code generation con convenzioni aziendali
  • Named Entity Recognition per domini specifici

Usa RAG quando:

  • La conoscenza cambia frequentemente (news, prezzi, policy)
  • Hai molti documenti aziendali da interrogare
  • Non hai risorse per training (tempo, GPU, competenze)
  • La tracciabilità delle fonti è critica (compliance, audit)
  • Vuoi deployment rapido (proof of concept in giorni)
  • Il task principale è question-answering su knowledge base
  • Devi integrare múltiple sorgenti dati eterogenee

Esempi pratici:

  • Customer support basato su documentazione tecnica
  • Assistenti HR per policy e procedure aziendali
  • Analisi di contratti e documenti legali
  • Ricerca in archivi storici e knowledge base
  • FAQ intelligenti con documenti sempre aggiornati

Approcci Ibridi: Il Meglio di Due Mondi – Fine-tuning vs Lora vs RAG

La tendenza più avanzata è combinare queste tecniche:

1. LoRA + RAG

Fine-tune con LoRA per migliorare le capacità di reasoning e poi usa RAG per accedere a conoscenza aggiornata.

from peft import PeftModel
from transformers import AutoModelForCausalLM

# Carica il modello base con LoRA fine-tuned
base_model = AutoModelForCausalLM.from_pretrained("base-model")
model = PeftModel.from_pretrained(base_model, "lora-adapter")

# Usa questo modello nel pipeline RAG
# (sostituisci il modello nell'esempio RAG precedente)

2. Fine-tuning + RAG

Ricerca RAFT (Retrieval-Augmented Fine-Tuning) dimostra performance superiori combinando supervised fine-tuning con architettura RAG.

3. Multi-LoRA con RAG

Diversi adapter LoRA per task specifici + RAG per knowledge base dinamica.

Considerazioni Economiche e ROI

Costi Operativi Stimati (modello 7B parametri)

Fine-tuning Completo:

  • Hardware: GPU A100 80GB (~$3-5/ora cloud)
  • Tempo: 48-72 ore training
  • Costo totale: $150-400 per iterazione
  • Storage: ~30GB per modello

LoRA:

  • Hardware: GPU A40/RTX 4090 (~$1-2/ora cloud o hardware owned)
  • Tempo: 8-16 ore training
  • Costo totale: $15-50 per iterazione
  • Storage: ~10-100MB per adapter

RAG:

  • Setup: ~$0 (CPU sufficient)
  • Vector DB: ~$20-100/mese (managed service)
  • Inferenza: ~$0.01-0.10 per query (API LLM)
  • Storage: GB di embeddings

Best Practices e Consigli Operativi

Per Fine-tuning e LoRA:

  1. Data Quality First: 1000 esempi di qualità > 10000 esempi mediocri
  2. Validation Set: Sempre separare train/validation/test (70/15/15)
  3. Learning Rate: Usa learning rate basso (1e-5 a 5e-5) per evitare catastrophic forgetting
  4. Gradient Accumulation: Simula batch size grandi su GPU piccole
  5. Early Stopping: Monitor validation loss per prevenire overfitting
  6. Hyperparameter Tuning: Per LoRA, inizia con r=8, alpha=16, poi sperimenta

Per RAG:

  1. Chunk Size Optimization: Sperimenta tra 256-1024 tokens
  2. Overlap: 10-20% di overlap tra chunks per mantenere contesto
  3. Hybrid Search: Combina similarity search con keyword search (BM25)
  4. Reranking: Usa un reranker per migliorare la rilevanza dei risultati
  5. Prompt Engineering: Il template del prompt è cruciale
  6. Caching: Cache i risultati per query frequenti
  7. Monitoring: Traccia metriche di retrieval (recall, precision, MRR)

Sicurezza e Governance:

  • Data Privacy: Assicurati che i dati sensibili siano gestiti correttamente
  • Model Versioning: Traccia versioni di modelli e adapter (MLflow, Weights & Biases)
  • Access Control: Implementa permessi granulari per RAG knowledge base
  • Audit Trail: Logga tutte le query e risposte per compliance

Conclusioni: Costruire Competenze AI in Azienda – Fine-tuning vs Lora vs RAG

L’ecosistema delle tecniche di adattamento dei Large Language Models è in rapida evoluzione. Fine-tuning, LoRA e RAG rappresentano strumenti potenti, ciascuno con il proprio spazio applicativo ottimale. La scelta non è mai binaria: spesso la soluzione migliore è un approccio ibrido che combina i punti di forza di multiple tecniche.

Tuttavia, la tecnologia da sola non basta. Il vero vantaggio competitivo deriva dalla capacità del team tecnico di padroneggiare queste metodologie e applicarle strategicamente ai problemi di business. In un mercato dove l’AI Generativa sta ridefinendo interi settori, la formazione continua non è più opzionale: è essenziale.

Investi nella Formazione del Tuo Team IT – Fine-tuning vs Lora vs RAG

Per rimanere competitivi e sfruttare appieno il potenziale dell’AI Generativa, il tuo team IT necessita di formazione specialistica e aggiornata. Innovaformazione.net offre corsi aziendali dedicati all’AI Generativa, erogati in modalità classe virtuale online, perfetti per team distribuiti e con formazione su richiesta personalizzabile.

I Corsi AI Generativa di InnovaFormazione coprono:

  • Fondamenti di Large Language Models e Transformer architectures
  • Fine-tuning e Parameter-Efficient Fine-Tuning (LoRA, QLoRA)
  • Retrieval-Augmented Generation (RAG) e Vector Databases
  • Prompt Engineering avanzato
  • MLOps per LLM: deployment, monitoring e scaling
  • AI Ethics e governance dei modelli generativi

Scopri il catalogo completo dei corsi QUI.

Investire in un Corso AI Generativa significa:

  • Accelerare l’adoption di tecnologie AI in azienda
  • Ridurre la dipendenza da consulenti esterni
  • Costruire competenze proprietarie strategiche
  • Preparare il team alle sfide tecnologiche future
  • Aumentare la capacità di innovazione interna

Non lasciare che la tua azienda resti indietro nella rivoluzione dell’AI Generativa. Forma oggi il team che costruirà il domani.


Glossario Tecnico

LLM (Large Language Model): Modello di linguaggio con miliardi di parametri addestrato su vasti corpus testuali.

Fine-tuning: Processo di continuazione dell’addestramento di un modello pre-addestrato su dati specifici.

Parameter-Efficient Fine-Tuning (PEFT): Famiglia di tecniche che riducono il numero di parametri trainabili durante il fine-tuning.

Low-Rank Decomposition: Tecnica matematica per rappresentare matrici grandi come prodotto di matrici più piccole.

Vector Database: Database ottimizzato per memorizzare e ricercare embeddings vettoriali ad alta dimensionalità.

Embedding: Rappresentazione vettoriale densa di testo in spazio multidimensionale.

Similarity Search: Ricerca dei vettori più simili a un vettore query basata su metriche di distanza (cosine similarity, euclidean distance).

Context Window: Lunghezza massima del testo che un modello può processare in una singola inferenza.

Catastrophic Forgetting: Fenomeno dove il modello “dimentica” conoscenze precedenti durante il fine-tuning su nuovi dati.

Hallucination: Generazione di informazioni non veritiere o inventate da parte del modello.

(fonte) (fonte) (fonte) (fonte)

Innovaformazione, scuola informatica specialistica promuove la cultura dell’AI utilizzata in maniera consapevole e segue costantemente i trend di mercato. La formazione IT aziendale può essere finanziata tramite Fondimpresa o altri fondi interprofessionali ed è possibile delegare a noi anche l’intero progetto di formazione finanziata, dalla presentazione del piano fino alla rendicontazione.

INFO: info@innovaformazione.net – TEL. 3471012275 (Dario Carrassi)

Ti potrebbe interessare

Articoli correlati