Filtrează articolele

AI

Jupyter Agents: Antrenarea modelelor de limbaj pentru raționament bazat pe notebook-uri

Jupyter Agents: Antrenarea modelelor de limbaj pentru raționament bazat pe notebook-uri
În peisajul în continuă evoluție al inteligenței artificiale, capacitatea modelelor de limbaj de mari dimensiuni (LLM) de a executa cod și de a raționa în mod iterativ reprezintă o frontieră critică. O metodă naturală și extrem de intuitivă pentru a afișa execuția codului în mai mulți pași, corelată cu procesul de raționament, este utilizarea Jupyter Notebook-urilor. Acestea, prin structura lor duală ce combină celule de cod cu celule de text (markdown), oferă cadrul ideal pentru o astfel de demonstrație. Pornind de la această premisă, a fost dezvoltat Jupyter Agent, un agent capabil să execute cod direct în mediul Jupyter și să utilizeze acest ecosistem pentru a rezolva sarcini complexe de analiză a datelor și știința datelor. Imaginați-vă acest instrument ca pe o versiune a Cursor, dar integrată nativ în fluxul de lucru al științei datelor, permițând o interacțiune fluidă și directă cu informația.

Echipa de dezvoltare a realizat un demo funcțional al acestei viziuni folosind Qwen-3 Coder, recunoscut ca unul dintre cele mai puternice modele de generare de cod disponibile în prezent. Acest proiect reprezintă o continuare naturală a lucrărilor anterioare asupra versiunii inițiale a Jupyter Agent. Deși modelele de mari dimensiuni încep să demonstreze comportamente din ce în ce mai utile, întrebarea cheie rămâne: cum putem continua să le îmbunătățim? În acest context, focusul s-a mutat pe consolidarea modelelor mai mici pentru a le permite să performeze excelent în sarcini agentice de știința datelor, domeniu în care acestea întâmpină în prezent dificultăți în a concura cu giganții din industrie. Scopul final al proiectului a fost construirea unui pipeline complet: generarea de date de antrenament de înaltă calitate, fine-tuning-ul unui model mic existent și evaluarea riguroasă a îmbunătățirii performanței pe benchmark-uri relevante.

Benchmark-ul DABStep: Standardul de evaluare

Pentru a cuantifica progresul către agenți de știința datelor mai performanți, a fost necesară identificarea unui benchmark robust. În parteneriat cu Adyen, a fost introdus benchmark-ul DABStep, conceput pentru a evalua agenții de știința datelor în scenarii realiste. Configurația este aparent simplă: modelul primește seturi de date și trebuie să răspundă la întrebări non-triviale despre acestea. De exemplu, întrebări precum identificarea schemei de carduri cu cea mai mare rată medie de fraudă în 2023 sau determinarea celei mai rentabile opțiuni de autorizare pentru un anumit comerciant. Cu toate acestea, acest benchmark rămâne o provocare formidabilă pentru LLM-urile actuale; chiar și Claude 4 Sonnet, considerat cel mai bun model „out-of-the-box”, abia atinge 20% acuratețe pe sarcinile dificile.

Construirea baseline-ului și importanța scaffolding-ului

După stabilirea benchmark-ului, următorul pas a fost construirea unui baseline. Alegerea a căzut pe Qwen3-4B-Thinking-2507, un model extrem de mic, rapid în iterații și ușor de rulat, dar suficient de puternic pentru scenarii agentice. Rezultatele inițiale nu au fost spectaculoase, dar au oferit o bază solidă de plecare. Un aspect crucial care diferențiază un agent de un model simplu de chat este „scaffolding-ul” – structura de suport construită în jurul modelului pentru a-i ghida comportamentul. Studiind codul Qwen-Agent și adaptând structurile de prompt-uri, echipa a înțeles că alinierea dintre model și scheletul său de suport este esențială pentru succes.

Pipeline-ul de date: De la 2TB la calitate pură

Rețeta pentru îmbunătățirea unui model pe o anumită sarcină este antrenarea sa pe date care reflectă acea sarcină cât mai fidel. Kaggle, cu bogăția sa de notebook-uri de analiză a datelor, a fost sursa naturală de plecare. Totuși, transformarea acestor date brute într-un set de antrenament de înaltă calitate a necesitat un pipeline complex, în mai multe etape, folosind Datatrove:

1. Deduplicare la scară largă: Pornind de la aproximativ 2TB de notebook-uri, s-a realizat o reducere drastică la 250GB. O perspectivă cheie a fost că aproximativ 90% dintre notebook-urile brute erau duplicate sau variații minore, ceea ce ar fi distorsionat antrenamentul dacă nu ar fi fost filtrate.
2. Descărcarea seturilor de date legate: Pentru a asigura executabilitatea codului, a fost construit un pipeline care a descărcat automat mii de seturi de date referențiate în notebook-uri (aproximativ 5TB în total), asigurând astfel că agentul învață în medii realiste și funcționale.
3. Scorarea educațională (Edu scoring): Fiecare notebook a fost evaluat de Qwen3-32B pe o scară de la 1 la 5, bazată pe claritate și valoare educațională. Această filtrare a eliminat aproximativ 70% dintre notebook-uri, păstrând doar exemplarele de înaltă calitate, o strategie similară cu cea din lucrarea BeyondWeb, care demonstrează superioritatea datelor sintetice generate din surse de calitate.
4. Filtrarea notebook-urilor irelevante: Utilizând din nou un LLM (Qwen3-32B), au fost eliminate notebook-urile care nu erau legate de analiza datelor sau care nu utilizau seturile de date descărcate, curățând încă 20% din date.
5. Generarea de perechi Întrebare-Răspuns (QA): Din notebook-urile curate, s-au generat perechi QA sintetice. Provocarea majoră a fost generarea de întrebări de dificultate ridicată, modelele având tendința de a propune întrebări triviale. S-a recurs la o strategie în doi pași pentru a evita halucinațiile și a valida răspunsurile.
6. Generarea de urme de execuție (Trace generation): Pentru a învăța agentul să fie eficient, s-au generat urme de execuție sintetice, curate, folosind Qwen-3-Coder-480B. Această etapă a capturat execuția pas cu pas, inclusiv ieșirile intermediare. O dificultate tehnică interesantă a fost lipsa modului de „gândire” a modelului de 480B; soluția a fost impunerea unui câmp de „comentariu” obligatoriu în apelurile de unelte, forțând modelul să emită o descriere a acțiunilor sale, emulând astfel structura raționamentului.

Rezultate și direcții viitoare

Procesul de fine-tuning a demonstrat că modelele mici pot fi specializate eficient pentru sarcini agentice complexe atunci când sunt antrenate pe date curate, relevante și structurate logic. Discrepanța dintre răspunsurile generate și cele din setul QA a evidențiat o direcție de cercetare fascinantă: modul în care modelele de limbaj interpretează analiza datelor comparativ cu oamenii. Această diferență nu este o eroare, ci o caracteristică ce deschide noi orizonturi în înțelegerea inteligenței artificiale în știința datelor. Proiectul Jupyter Agent nu este doar un instrument, ci o demonstrație a faptului că viitorul AI constă în specializarea și integrarea profundă în fluxurile de lucru umane.

Acest site folosește cookie-uri pentru a-ți oferi o experiență de navigare cât mai plăcută. Continuarea navigării implică acceptarea acestora.