Scassinare il Codice dei Grandi Modelli Linguistici Cosa mi ha insegnato Databricks

Scassinare il Codice dei Modelli Linguistici su Databricks

Impara a creare i tuoi flussi di lavoro LLM completi fino all’ultimo step di produzione

Foto di Brett Jordan su Unsplash

In un mondo sempre più plasmato dall’intelligenza artificiale, i Large Language Models (LLM) sono emersi come i gioielli della corona del regno del machine learning. Queste meraviglie della tecnologia, capaci di generare testo simile a quello umano e comprendere le complessità del linguaggio, hanno trovato applicazioni in diversi settori, dal processing del linguaggio naturale alla generazione di contenuti. Con l’aumento della domanda di applicazioni basate su LLM, la necessità di ingegneri qualificati in grado di sfruttare il potenziale di questi modelli non è mai stata così critica.

Entra in scena Databricks, un nome sinonimo di progressi rivoluzionari nel campo dei big data. Nella loro missione di democratizzare l’IA, hanno presentato un programma innovativo: Large Language Models. Questi corsi, adatti sia agli appassionati principianti che agli esperti di lunga data, offrono una roadmap completa per padroneggiare l’arte di costruire e utilizzare LLM per le applicazioni moderne. Imbarcati in questo viaggio alla scoperta di ciò che rende questi corsi un asset indispensabile per chiunque sia appassionato del mondo del machine learning e del processing del linguaggio naturale.

Il programma LLMs: una breve panoramica

Il programma Large Language Models di Databricks comprende due corsi distinti ma interconnessi: “LLMs: Applicazione fino alla produzione” e “LLMs: Modelli fondamentali da zero”. La gamma di argomenti trattati in questi corsi è tanto varia quanto completa.

Corso 1: LLMs — Applicazione fino alla produzione

Nel mondo frenetico della tecnologia, ciò che distingue questo corso è la sua attenzione focalizzata sulla praticità. Rivolto a sviluppatori, data scientist e ingegneri, questo corso ti fornisce le competenze necessarie per costruire applicazioni incentrate su LLM utilizzando i framework più recenti. Ecco un’anteprima di ciò a cui ti immergerai:

Sfruttare il potere dei LLM: Imparerai ad applicare i LLM a problemi reali di NLP utilizzando librerie popolari come Hugging Face e LangChain. Attraverso esercitazioni pratiche, diventerai competente nell’utilizzo di queste librerie per massimizzare l’impatto.

import torchfrom transformers import AutoModelForCausalLM, AutoTokenizertokenizer = AutoTokenizer.from_pretrained("gpt2")model = AutoModelForCausalLM.from_pretrained("gpt2")# Genera testo con GPT-2input_text = "C'era una volta,"input_ids = tokenizer(input_text, return_tensors="pt").input_idsoutput = model.generate(input_ids, max_length=100)generated_text = tokenizer.decode(output[0], skip_special_tokens=True)print(generated_text)

Aggiungere conoscenze di dominio: Approfondisci l’ottimizzazione dei tuoi flussi di lavoro LLM con conoscenze di dominio e memoria utilizzando incorporamenti e database vettoriali. Questa competenza preziosa ti consente di personalizzare i tuoi modelli per applicazioni specifiche.

from langchain.text_splitter import CharacterTextSplitterfrom langchain.embeddings import HuggingFaceEmbeddingsfrom langchain.vectorstores import Chroma# Prima suddividiamo i dati in chunk gestibili da memorizzare come vettori. # Non c'è un modo preciso per farlo, più chunk significa un contesto più dettagliato,# ma aumenterà la dimensione del nostro vectorstore.text_splitter = CharacterTextSplitter(chunk_size=250, chunk_overlap=10)texts = text_splitter.split_documents(document)# Ora creiamo incorporamenti per il nostro documento in modo da poterlo memorizzare in un vector # store e alimentare i dati in un LLM. Utilizzeremo il modello sentence-transformers # per i nostri incorporamenti. https://www.sbert.net/docs/pretrained_models.html#sentence-embedding-models/model_name = "sentence-transformers/all-MiniLM-L6-v2"embeddings = HuggingFaceEmbeddings(    model_name=model_name, cache_folder=DA.paths.datasets)  # Utilizza un modello precedentemente memorizzato# Infine creiamo il nostro indice utilizzando chromadb e gli incorporamenti LLMchromadb_index = Chroma.from_documents(    texts, embeddings, persist_directory=DA.paths.working_dir)from langchain.chains import RetrievalQAfrom langchain.llms import HuggingFacePipeline# Vogliamo trasformare questo in un retriever, quindi dobbiamo convertire il nostro indice.# Questo creerà un wrapper attorno alla funzionalità del nostro database vettoriale # in modo da poter cercare documenti/chunk simili nel vectorstore e recuperare i risultati:retriever = chromadb_index.as_retriever()# Questa catena verrà utilizzata per fare QA sul documento. Avremo bisogno# 1 - Un LLM per l'interpretazione del linguaggio# 2 - Un database vettoriale in grado di eseguire il recupero di documenti# 3 - Specifiche su come gestire questi dati (ne parleremo più avanti)hf_llm = HuggingFacePipeline.from_model_id(    model_id="google/flan-t5-large",    task="text2text-generation",    model_kwargs={        "temperature": 0,        "max_length": 128,        "cache_dir": DA.paths.datasets,    },)chain_type = "stuff"  # Opzioni: stuff, map_reduce, refine, map_reranklaptop_qa = RetrievalQA.from_chain_type(    llm=hf_llm, chain_type="stuff", retriever=retriever)# Facciamo una domanda alla catena sul prodotto che abbiamo.nome_laptop = laptop_qa.run("Qual è il nome completo del laptop?")display(nome_laptop)

Padronanza del Fine-Tuning: Comprendi le sfumature del pre-training, del fine-tuning e dell’ingegneria delle prompt. Acquisirai l’esperienza necessaria per ottimizzare un modello di chat personalizzato, aprendo le porte a applicazioni altamente specializzate.

import transformers as trtraining_args = tr.TrainingArguments(    local_checkpoint_path,    num_train_epochs=1,  # il numero predefinito di epoche per l'addestramento è 3    per_device_train_batch_size=16,    optim="adamw_torch",    report_to=["tensorboard"],)# carica il modello pre-addestratomodel = tr.AutoModelForSeq2SeqLM.from_pretrained(    model_checkpoint, cache_dir=DA.paths.datasets)  # Usa un modello pre-cached# utilizzato per aiutare l'addestratore a raggruppare i dati in batchdata_collator = tr.DataCollatorWithPadding(tokenizer=tokenizer)trainer = tr.Trainer(    model,    training_args,    train_dataset=tokenized_dataset["train"],    eval_dataset=tokenized_dataset["test"],    tokenizer=tokenizer,    data_collator=data_collator,)trainer.train()# salva il modello nel checkpoint localetrainer.save_model()trainer.save_state()# persisti il modello fine-tuned in DBFSfinal_model_path = f"{DA.paths.working_dir}/llm_fine_tuning/{checkpoint_name}"trainer.save_model(output_dir=final_model_path)fine_tuned_model = tr.AutoModelForSeq2SeqLM.from_pretrained(final_model_path)inputs = tokenizer(reviews, return_tensors="pt", truncation=True, padding=True)pred = fine_tuned_model.generate(    input_ids=inputs["input_ids"], attention_mask=inputs["attention_mask"])

Valutazione dell’Efficacia e del Bias: In un’era contraddistinta da preoccupazioni etiche, impara come valutare rigorosamente l’efficacia e i potenziali bias dei tuoi LLM utilizzando varie metodologie.

import evaluatetoxicity = evaluate.load("toxicity", module_type="measurement")from transformers import AutoTokenizer, AutoModelForCausalLMimport shaptokenizer = AutoTokenizer.from_pretrained(    "gpt2", use_fast=True, cache_dir=DA.paths.datasets)model = AutoModelForCausalLM.from_pretrained("gpt2", cache_dir=DA.paths.datasets)# Imposta il decoder del modello su true# GPT è un modello solo decodermodel.config.is_decoder = True# Impostiamo le configurazioni per la generazione del testo di outputmodel.config.task_specific_params["text-generation"] = {    "do_sample": True,    "max_length": 50,    "temperature": 0,  # per disattivare la casualità    "top_k": 50,    "no_repeat_ngram_size": 2,}input_sentence = ["Le giornate di sole sono le migliori per andare in spiaggia. Quindi"]explainer = shap.Explainer(model, tokenizer)shap_values = explainer(input_sentence)shap.plots.text(shap_values)shap.plots.bar(shap_values[0, :, "looking"])

LLMOps e Ragionamento a più passi: Scopri le migliori pratiche di LLMOps per implementare modelli su larga scala e sbloccare il potenziale del ragionamento a più passi nei tuoi flussi di lavoro LLM.

import mlflow# Dici a MLflow Tracking di utilizzare questo percorso sperimentale esplicito,# che si trova nella tua directory personale sotto il browser del Workspace (barra laterale sinistra).mlflow.set_experiment(f"/Users/{DA.username}/LLM 06 - Esperimento MLflow")with mlflow.start_run():    # LOG PARAMS    mlflow.log_params(        {            "nome_modello_hf": nome_modello_hf,            "min_length": min_length,            "max_length": max_length,            "truncation": truncation,            "do_sample": do_sample,        }    )# È utile registrare una "signature" con il modello che indica a MLflow lo schema di input e output per il modello.signature = mlflow.models.infer_signature(      xsum_sample["document"][0],      mlflow.transformers.generate_signature_output(          summarizer, xsum_sample["document"][0]      ),  )  print(f"Signature:\n{signature}\n")  # Per mlflow.transformers, se ci sono configurazioni al momento dell'infrazione,  # queste devono essere salvate in modo speciale nella chiamata log_model (sotto).  # Ciò assicura che il pipeline utilizzi queste stesse configurazioni al momento del ri-caricamento.  inference_config = {      "min_length": min_length,      "max_length": max_length,      "truncation": truncation,      "do_sample": do_sample,  }  # Registrare un modello restituisce un gestore `model_info` ai metadati del modello nel server di tracciamento.  # Questo `model_info` sarà utile successivamente nel notebook per recuperare il modello registrato.  model_info = mlflow.transformers.log_model(      transformers_model=summarizer,      artifact_path="summarizer",      task="summarization",      inference_config=inference_config,      signature=signature,      input_example="Questo è un esempio di un lungo articolo di notizie che questa pipeline può riassumere per te.",  )

Con queste competenze a tua disposizione, sarai ben preparato per affrontare le sfide delle applicazioni LLM del mondo reale.

Cosa mi è piaciuto di questo corso:

  1. Focalizzazione pratica: Questo corso è progettato per professionisti pratici. Ti fornisce le competenze necessarie per costruire applicazioni LLM-centric utilizzando framework popolari come Hugging Face e LangChain. È perfetto per sviluppatori, scienziati dei dati e ingegneri che desiderano applicare LLM nel mondo reale.
  2. Competenza industriale: Il corso è guidato da leader dell’industria e ricercatori rinomati, tra cui il professor Matei Zaharia di Stanford e il team tecnico dietro il modello Dolly di Databricks. I loro suggerimenti ed esperienze offrono prospettive preziose.
  3. Laboratori pratici: L’inclusione di laboratori pratici assicura che tu non solo comprenda la teoria, ma acquisisca anche esperienza pratica. Sarai in grado di costruire i tuoi workflow LLM pronti per la produzione.
  4. Considerazioni etiche: Nel mondo di oggi, le preoccupazioni etiche sono fondamentali. Questo corso affronta le considerazioni sociali, di sicurezza ed etiche nell’uso di LLM, aiutandoti a sviluppare un approccio responsabile all’IA.
  5. Best Practice LLMOps: Imparerai le best practice LLMOps per il deploy di modelli su larga scala. Questo è essenziale per coloro che mirano a integrare LLM in applicazioni su vasta scala.

Cosa può essere migliorato:

  1. Limitato ai professionisti: Sebbene la focalizzazione pratica sia eccellente per i professionisti, potrebbe non essere adatto a coloro che cercano una comprensione teorica più approfondita di LLM (questo viene risolto con il Corso 2).
  2. Richiede conoscenze pregresse: Per trarre pieno vantaggio dal corso, è necessaria una conoscenza pratica di machine learning e deep learning. Potrebbe non essere ideale per principianti assoluti (vedi risorse di seguito per alcuni prerequisiti).

Corso 2: LLMs – Modelli di base dall’inizio

Per coloro che hanno una sete di conoscenza più approfondita, questo corso offre un’immersione nel cuore dei LLMs. Ideale per scienziati dei dati e appassionati incuriositi dal funzionamento interno dei modelli di base, copre quanto segue:

Comprensione dei modelli di base: Approfondisci la teoria e le innovazioni che hanno aperto la strada ai modelli di base, inclusi meccanismi di attenzione, encoder, decoder e la loro evoluzione verso GPT-4.

class TransformerEncoderBlock(nn.Module):    def __init__(self, d_model, num_heads, conv_hidden_dim, dropout=0.1):        super(TransformerEncoderBlock, self).__init__()        self.attention = nn.MultiheadAttention(d_model, num_heads, dropout=dropout)        self.norm1 = nn.LayerNorm(d_model)        self.norm2 = nn.LayerNorm(d_model)        self.feed_forward = FeedForward(d_model, conv_hidden_dim, dropout)        self.dropout = nn.Dropout(dropout)    def forward(self, x, mask=None):        # Multi-Head Attention        attn_output, _ = self.attention(x, x, x, attn_mask=mask)        x = x + self.dropout(attn_output)        x = self.norm1(x)        # Feed Forward Network        ff_output = self.feed_forward(x)        x = x + self.dropout(ff_output)        x = self.norm2(x)        return xclass TransformerEncoder(nn.Module):    def __init__(self, vocab_size, d_model, num_heads, conv_hidden_dim, num_layers, dropout=0.1):        super(TransformerEncoder, self).__init__()        self.word_embedding = nn.Embedding(vocab_size, d_model)        self.position_embedding = nn.Embedding(1000, d_model)  # Assuming a maximum sequence length of 1000        self.layers = nn.ModuleList(            [                TransformerEncoderBlock(d_model, num_heads, conv_hidden_dim, dropout)                for _ in range(num_layers)            ]        )    def forward(self, x, mask=None):        seq_length = x.shape[1]        positions = torch.arange(0, seq_length).expand(x.shape[0], seq_length).to(x.device)        out = self.word_embedding(x) + self.position_embedding(positions)        for layer in self.layers:            out = layer(out, mask)        return out# Assume the following hyperparametersvocab_size = 5000  # size of the vocabularyd_model = 512  # dimension of the word embeddingnum_heads = 8  # number of attention headsconv_hidden_dim = 2048  # dimension of the hidden layer in the feed-forward networknum_layers = 6  # number of Transformer Encoder blocksdropout = 0.1  # dropout rate# Instantiate the modelmodel = TransformerEncoder(vocab_size, d_model, num_heads, conv_hidden_dim, num_layers, dropout)# Generate some example inputinput_tensor = torch.randint(0, vocab_size, (1, 20))  # batch size of 1 and sequence length of 20# Forward pass through the modeloutput = model(input_tensor, mask=None)print(f"Il modello ha {sum(p.numel() for p in model.parameters() if p.requires_grad):,} parametri addestrabili")

Fine-Tuning Efficienti: Esplora tecniche avanzate di trasferimento di apprendimento come l’apprendimento one-shot, few-shot e la distillazione delle conoscenze. Impara come ridurre le dimensioni degli LLM preservando le prestazioni. Ottieni approfondimenti sulla ricerca attuale e sugli sviluppi che modellano il panorama degli LLM, dalle attenzioni Flash a LoRa, AliBi e metodi PEFT.

import peftfrom peft import LoraConfig, get_peft_modelfrom transformers import AutoModelForCausalLM, AutoTokenizermodel_name = "bigscience/bloomz-560m"tokenizer = AutoTokenizer.from_pretrained(model_name)foundation_model = AutoModelForCausalLM.from_pretrained(model_name)lora_config = LoraConfig(    r=<RIEMPIMENTO>,    lora_alpha=1, # un fattore di scala che regola l'entità della matrice dei pesi. Di solito impostato a 1    target_modules=["query_key_value"],    lora_dropout=0.05,     bias="none", # specifica se il parametro di bias deve essere addestrato.     task_type="CAUSAL_LM")peft_model = get_peft_model(foundation_model, lora_config)print(peft_model.print_trainable_parameters())

Pratiche consigliate per il deployment degli LLM: Impara la quantizzazione per far eseguire i modelli più velocemente e utilizzare meno memoria convertendo numeri in virgola mobile a 32 bit in formati a precisione inferiore, come interi a 8 bit.

# Specifica la configurazione di quantizzazionenet.qconfig = torch.ao.quantization.get_default_qconfig("onednn")# Prepara il modello per la quantizzazione statica. Ciò inserisce degli osservatori nel modello che osserveranno i tensori di attivazione durante la calibrazione.net_prepared = torch.quantization.prepare(net)# Ora convertiamo il modello in una versione quantizzatanet_quantized = torch.quantization.convert(net_prepared)# Una volta che il modello è quantizzato, può essere utilizzato per l'inferring nello stesso modo # del modello non quantizzato, ma utilizzerà meno memoria e potrebbe avere # tempi di inferring più veloci, a costo di una possibile diminuzione dell'accuratezza.

Esegui LLM su scala massiva: Esplora come costruire la nostra stessa versione semplificata di un sistema LLM a mistura di esperti (MoE) che può gestire una vasta gamma di modelli dati attraverso le diverse aree di competenza dei loro modelli componenti. Ogni esperto ha il proprio set di parametri ed è tipicamente un modello più semplice di quello necessario per modellare in modo efficace l’intero set di dati.

# Definisci la funzione di "hard gating"# Questa funzione decide quale modello utilizzare in base alla lunghezza dell'inputdef hard_gating_function(input):    if len(input) < 10:        # Per input inferiori a 10 caratteri, utilizza il modello GPT2        return "gpt2", gpt2, gpt2_tokenizer    elif len(input) < 100:        # Per input superiori a 10 caratteri ma inferiori a 100 caratteri, utilizza il modello T5        return "t5" , t5, t5_tokenizer    else:        # Per input superiori a 100 caratteri, utilizza il modello BERT        return "bert", bert, bert_tokenizer# Definisci la funzione di "soft gating"# Questa funzione assegna un peso a ciascun modello in base alla lunghezza dell'input, e tutti i modelli vengono utilizzati in certo modo per generare l'outputdef soft_gating_function(input):    # I pesi per ciascun modello vengono calcolati utilizzando la funzione softmax, che restituisce una distribuzione di probabilità    weights = F.softmax(torch.tensor([len(input), 100 - len(input), len(input)], dtype=torch.float), dim=0)    # I pesi per ciascun modello vengono restituiti insieme ai modelli e ai loro tokenizer    return {"gpt2": (gpt2, gpt2_tokenizer, weights[0]),            "bert": (bert, bert_tokenizer, weights[1]),            "t5": (t5, t5_tokenizer, weights[2])}

Il futuro degli LLM è Multi-Modale: Impara il funzionamento interno dei Vision Transformers con un progetto di codifica pratico per eseguire la classificazione video utilizzando X-CLIP per assegnare probabilità alla descrizione testuale fornita. Il modello è composto da un encoder di testo, un encoder di visione cross-frame, un Transformer di integrazione multi-frame e un generatore di prompt specifico per i video.

from transformers import XCLIPProcessor, XCLIPModelmodel_name = "microsoft/xclip-base-patch16-zero-shot"processor = XCLIPProcessor.from_pretrained(model_name)model = XCLIPModel.from_pretrained(model_name)

Alla conclusione del corso, sarai ben preparato sulle complessità dei modelli di base, sarai in grado di comprendere gli ultimi sviluppi e sarai pronto ad affrontare le sfide multi-modal degli LLM.

Cosa mi è piaciuto di questo corso:

  1. Conoscenza teorica approfondita: Se sei interessato alla teoria dietro gli LLMs e vuoi capirne il funzionamento interno, questo corso è ideale. Copre l’evoluzione dei modelli di base, inclusi i meccanismi di attenzione, gli encoder, gli decoder e il loro contributo a modelli come GPT-4.
  2. Trasferimento avanzato di apprendimento: Esplorerai tecniche avanzate di trasferimento di apprendimento come l’apprendimento one-shot, few-shot e la distillazione della conoscenza, che possono ridurre significativamente le dimensioni degli LLMs mantenendo le prestazioni.
  3. Orientamento al futuro: Questo corso fornisce approfondimenti sulle ultime novità degli LLMs, inclusi Flash Attention, LoRa, AliBi e metodi PEFT. Ti mantiene all’avanguardia della ricerca sugli LLMs.
  4. Applicazioni multi-modalità: Comprendere gli LLMs multi-modalità sta diventando sempre più importante poiché le applicazioni di intelligenza artificiale coinvolgono componenti testuali, audio e visivi. Questo corso ti prepara per tali sfide.

Cosa può essere migliorato:

  1. Enfasi teorica: Sebbene questo corso sia ricco di contenuti teorici, potrebbe non offrire tante esperienze pratiche come il primo corso. Se preferisci un approccio più pratico, potrebbe non essere la tua prima scelta.
  2. Prerequisito consigliato: Sebbene sia consigliato completare il corso “LLMs: Applicazioni dalla produzione” non è strettamente necessario. Tuttavia, se non hai seguito il primo corso, potresti dover investire sforzi extra per recuperare.

Nel complesso, entrambi i corsi offrono vantaggi unici e una combinazione di entrambi sarebbe una scelta saggia per un viaggio di successo con gli LLMs.

Esplorare l’esperienza di apprendimento

I corsi LLM di Databricks sono più di una semplice serie di lezioni online. Offrono un’esperienza di apprendimento immersiva arricchita dalla saggezza di leader del settore e ricercatori di fama. Alcune caratteristiche eccezionali che rendono questi corsi notevoli:

Istruzione guidata da esperti

In un settore dinamico come l’intelligenza artificiale, avere mentori che non solo hanno assistito ma hanno attivamente plasmato la sua evoluzione è prezioso. L’esperienza degli insegnanti permea ogni lezione e laboratorio, offrendo agli studenti una prospettiva unica nata dall’accademia, dalle startup e dalle aziende F500.

Laboratori pratici

La teoria senza la pratica è come una nave senza bussola. I corsi di Databricks sono punteggiati da laboratori pratici che ti consentono di applicare le tue nuove conoscenze in scenari reali. Questi laboratori forniscono le competenze pratiche necessarie per creare i tuoi workflow LLM pronti per la produzione.

Materiali del corso e certificati gratuiti

In linea con il loro impegno per la democratizzazione dell’intelligenza artificiale, Databricks offre accesso gratuito ai materiali del corso per chiunque desideri auditare. Se desideri un coinvolgimento più approfondito, una tariffa nominale ti concede l’accesso a un ambiente di calcolo gestito per i laboratori del corso, gli esercizi valutati e un certificato di completamento. Questo certificato, supportato dal nome di Databricks, è un’aggiunta preziosa al tuo profilo professionale.

Risorse gratuite

Oltre ai corsi, Databricks offre generosamente risorse gratuite, inclusi codice sorgente e notebook, garantendo che il tuo percorso di apprendimento continui oltre il corso. I repository GitHub forniti offrono un tesoro di esempi di codice e implementazioni pratiche.

Lezioni video

Per coloro che preferiscono un’esperienza di apprendimento visuale, Databricks offre una serie di lezioni video che accompagnano i corsi. Queste lezioni servono come risorsa aggiuntiva per migliorare la comprensione.

Il futuro: LLMs e oltre

Man mano che ci avviciniamo alla fine della nostra esplorazione, è cruciale riconoscere l’immensa potenziale e le opportunità che attendono coloro che intraprendono questo viaggio con gli LLMs. Il mondo orientato ai dati di domani sarà sicuramente arricchito dall’intelligenza artificiale e le aziende di vari settori stanno attivamente cercando talenti con competenze in LLMs.

Secondo IDC, entro il 2025 il 90% delle applicazioni aziendali sarà arricchito dall’intelligenza artificiale e la domanda di professionisti esperti in LLMs è in rapida crescita. Secondo Burning Glass, le offerte di lavoro che richiedono competenze sia in NLP che in deep learning hanno registrato un notevole aumento del 105% negli ultimi tre anni.

Le possibili carriere per i laureati dei corsi LLM di Databricks sono diverse quanto le applicazioni degli LLM stessi. Dagli ingegneri NLP/LLM ai data scientist, dagli ingegneri di machine learning agli sviluppatori di software e agli analisti di ricerca, le possibilità sono limitate solo dalla tua immaginazione.

Il verdetto: Dovresti unirti alla ribellione LLM?

Nello spirito di un rullo di tamburi drammatico, lasciatemi essere chiaro: i corsi LLM di Databricks sono un tesoro prezioso per chiunque sia seriamente intenzionato a conquistare il mondo dei grandi modelli di linguaggio. Le conoscenze, l’esperienza e l’expertise che acquisirai valgono il loro peso in latinum pressato in oro (per tutti i fan di Star Trek là fuori).

Quindi, dovresti intraprendere questi corsi? Senza dubbio! Che tu sia un appassionato di machine learning o uno scienziato dei dati che cerca di migliorarsi, i corsi LLM di Databricks sono l’iperdrive di cui hai bisogno per viaggiare tra le stelle.

Nelle parole dell’indimenticabile Douglas Adams, “Non prendere panico” e iscriviti a questi corsi. Che gli LLM siano con te!

Conclusione: Unisciti al viaggio

Mentre concludiamo questa odissea attraverso la galassia dei grandi modelli di linguaggio, ti esorto ad intraprendere la tua avventura. I corsi LLM di Databricks non sono solo un’esperienza di apprendimento; sono un viaggio nel futuro dell’apprendimento automatico. Mentre navighi nell’universo in continua espansione dei dati e dei modelli di linguaggio, ricorda:

“L’unico limite al nostro realizzo di domani sarà il dubbio di oggi.” – Franklin D. Roosevelt.

Iscriviti ai corsi LLM di Databricks e lascia che i tuoi dubbi svaniscano come stelle nell’alba di un nuovo giorno. Applaudi 👏, iscriviti 🔔 e rimani sintonizzato 📡 per altre avventure illuminanti nel mondo della tecnologia e dei dati. Il cosmo della conoscenza ti aspetta e insieme andremo audacemente dove nessuno è mai stato prima.

Risorse

  1. Introduzione ai corsi LLM di Databricks
  2. Certificazione LLM
  3. Corso LLM 1: Dall’applicazione alla produzione
  4. Corso LLM 2: Modelli di base dalle fondamenta
  5. Corso LLM 1: Repo GitHub, Slides, Video Lezioni
  6. Corso LLM 2: Repo GitHub, Slides, Video Lezioni (prossimamente)
  7. Transformers-Tutorials

Disclaimer: Non ho ricevuto alcun compenso finanziario o favori da parte di Databricks, edX o qualsiasi altra parte per la scrittura di questo articolo. Le opinioni espresse qui sono interamente le mie, basate sulle mie vere esperienze con questi corsi LLM.

Anand Taralika è un Ingegnere del Software che scrive sulla vita tecnologica e sull’uso della tecnologia, dei dati e dell’apprendimento automatico per la sicurezza informatica, la finanza, l’assistenza sanitaria e l’energia sostenibile. Ricevi storie direttamente nella tua casella di posta elettronica in modo da non perderle mai!