Iscriviti al feed

Quando si parla di intelligenza artificiale (IA), in genere si fa riferimento alla combinazione di un chat bot, che fornisce input e output, e di un modello linguistico di grandi dimensioni (LLM), che fornisce dati che il chat bot può utilizzare per formare frasi. L'intelligenza artificiale senza LLM non è molto utile, ed è per questo che gran parte delle discussioni sulla legalità e sull'etica dell'IA riguarda ciò che viene utilizzato per alimentare la "conoscenza" utilizzata dall'IA generativa (IA gen). Come si può essere certi che i dati che un'IA gen utilizza per formulare le risposte siano affidabili e non protetti da copyright? Il modo migliore per valutare o istruire la knowledge base dell'IA è utilizzare l'open source, ed è proprio questo che il progetto InstructLab rende possibile.

Cos'è InstructLab?

InstructLab è un progetto di IA open source che promuove la modellazione universale con contributi aperti. L'obiettivo dichiarato è quello di consentire a chiunque di modellare l'IA gen, a prescindere dal motivo per cui serve un LLM open source: problemi di proprietà intellettuale e copyright, privacy, affidabilità, competenze settoriali, accessibilità o altro. Progettare un LLM completo è un'attività complessa, pertanto il modo migliore per creare un LLM aperto è adoperare la modalità open source. Poiché InstructLab è open source, puoi collaborare e contribuire a rendere i modelli di linguaggio open source la scelta migliore per l'IA gen. Ecco tre modi per iniziare subito a utilizzare InstructLab.

Condividi le tue competenze

L'IA utilizza il calcolo delle probabilità per formulare le sue risposte, ciascuna delle quali di basa su informazioni fattuali che fungono da modello. La raccolta dei dati utilizzati dall'IA fa parte di un LLM. Affinché InstructLab sia la base migliore per i contenuti basati sull'intelligenza artificiale, deve fornire un LLM completo. La realizzazione di un LLM richiede la creazione di una banca dati di contenuti affidabili. Nella terminologia utilizzata da InstructLab si parla di tassonomia, che comprende due categorie principali: competenze e conoscenze.

In InstructLab, le competenze sono performative. Quando crei una competenza per InstructLab, gli insegni a fare qualcosa di specifico, come riordinare le parole di una frase senza modificarne il significato, trovare due parole che fanno rima o far diventare maiuscole le lettere di un testo.

La conoscenza è una raccolta di fatti, che include la citazione di una fonte affidabile. Quando crei le conoscenze per un modello linguistico, fornisci al modello dei dati che può utilizzare per rispondere a domande dirette.

Competenze e conoscenze sono archiviate come YAML, un formato di file minimalista costituito da coppie chiave-valore (una "mappatura") ed elenchi (una "sequenza"). Ecco un semplice esempio di conoscenza espressa in YAML:

---
version: 2
created_by: tux
domain: flowers
seed_examples:
 - answer: 'A carnation is a herbaceous perennial plant.'
   question: 'What kind of plant is a carnation?'
 - answer: 'Dianthus caryophyllus'
   question: 'What is the scientific name for a carnation?'
task_description: 'teach a language model about carnations'
document:
 repo: https://github.com/juliadenham/Summit_knowledge
 commit: 195fc4d83a40d8a1b60062e66e06cfc0bc9c8d35
 patterns:
   - dianthus_caryophyllus.md

Ecco un esempio di competenza semplice espressa come YAML:

---
version: 2
task_description: 'Teach the model how to rhyme.'
created_by: juliadenham
seed_examples:
 - question: What are 5 words that rhyme with horn?
   answer: warn, torn, born, thorn, and corn.
 - question: What are 5 words that rhyme with cat?
   answer: bat, gnat, rat, vat, and mat.
 - question: What are 5 words that rhyme with poor?
   answer: door, shore, core, bore, and tore.
 - question: What are 5 words that rhyme with bank?
   answer: tank, rank, prank, sank, and drank.
 - question: What are 5 words that rhyme with bake?
   answer: wake, lake, steak, make, and quake.

Confronta gli esempi di conoscenza e competenza YAML. La conoscenza contiene dati verificabili su un argomento specifico. Una competenza contiene esempi di un'attività specifica.

Dopo aver letto la guida ai contributi, puoi creare un file qna.yaml e inviarlo a InstructLab per l'inclusione nell'LLM. Potrebbe essere necessario revisionare il tuo lavoro per assicurarsi che possa essere elaborato e integrato nel progetto, e acquisire familiarità con strumenti come yamllint è utile, ma con un piccolo sforzo puoi dare un contributo significativo all'IA open source.

Esegui un'IA in locale con il comando ilab

La configurazione di un'IA è un processo manuale abbastanza complesso, ma con InstructLab è più facile di quanto ci si possa aspettare. È necessario avere familiarità con strumenti Python come ambienti virtuali e pip, oltre a conoscere ambienti terminali come Bash. È inoltre necessario disporre di CUDA (o un framework di elaborazione parallela simile) sul sistema e di spazio su disco sufficiente (l'LLM è di 5 GB ed è in continua espansione).

Segui la guida all'installazione nel repository InstructLab, poi interagisci con l'IA e il modello InstructLab, e segnala bug e richieste di funzionalità.

Contribuisci al codice

Al momento, il progetto InstructLab è composto da 12 repository. C'è l'interfaccia a riga di comando ilab, una libreria Python per la generazione di dati sintetici, documenti di progettazione, file di tassonomia, lo schema JSON per la tassonomia YAML e altro ancora. Se sei un programmatore, potresti individuare problemi o richieste di funzionalità nelle segnalazioni di bug non chiuse che potresti aiutare a risolvere.

Quando inizi a contribuire, di solito ti conviene risolvere un problema minore, considerando che probabilmente dedicherai la maggior parte del tuo tempo alla comprensione dei processi del team di sviluppo. I bug che richiedono solo una semplice correzione sono contrassegnati con good first issue, quindi usa is:open is:issue label:"good first issue" come filtro quando cerchi un buon punto di accesso. È disponibile anche una guida per chi collabora per la prima volta che spiega in dettaglio come configurare l'ambiente di sviluppo e, cosa altrettanto importante, come testare il nuovo codice prima di richiedere un'unione.

L'IA open source è a portata di mano e, come qualsiasi altra forma di open source, è in grado di affidare il controllo e i termini dell'IA direttamente agli utenti. Se lavori in un ambito specialistico, l'IA gen potrebbe non avere le conoscenze o le competenze necessarie per essere utile ai tuoi utenti. Se gestisci dati sensibili, l'IA generale potrebbe non avere nemmeno accesso alle informazioni di cui i tuoi utenti hanno bisogno. Con InstructLab puoi contribuire alla creazione di un LLM universale e aperto, o addirittura realizzarne uno tuo. Qualunque sia il tuo obiettivo, inizia subito a utilizzare InstructLab!


Sull'autore

Seth Kenlon is a Linux geek, open source enthusiast, free culture advocate, and tabletop gamer. Between gigs in the film industry and the tech industry (not necessarily exclusive of one another), he likes to design games and hack on code (also not necessarily exclusive of one another).

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

Ricerca per canale

automation icon

Automazione

Novità sull'automazione IT di tecnologie, team e ambienti

AI icon

Intelligenza artificiale

Aggiornamenti sulle piattaforme che consentono alle aziende di eseguire carichi di lavoro IA ovunque

open hybrid cloud icon

Hybrid cloud open source

Scopri come affrontare il futuro in modo più agile grazie al cloud ibrido

security icon

Sicurezza

Le ultime novità sulle nostre soluzioni per ridurre i rischi nelle tecnologie e negli ambienti

edge icon

Edge computing

Aggiornamenti sulle piattaforme che semplificano l'operatività edge

Infrastructure icon

Infrastruttura

Le ultime novità sulla piattaforma Linux aziendale leader a livello mondiale

application development icon

Applicazioni

Approfondimenti sulle nostre soluzioni alle sfide applicative più difficili

Original series icon

Serie originali

Raccontiamo le interessanti storie di leader e creatori di tecnologie pensate per le aziende