TinyFish utilizza Databricks per effettuare il post-training, valutare e servire il suo modello web-native specializzato, che alimenta il suo agente web aziendale.
di Sudheesh Nair, Zach Richardson, Julia Brouillette e Tejas Sundaresan
TinyFish sviluppa un'infrastruttura per le aziende che hanno bisogno di agenti in grado di operare sul web dinamico. Le sue API Search, Fetch, Browser e Agent supportano workflow web autenticati e su larga scala, dove un agente potrebbe dover navigare in siti dinamici, recuperare informazioni, interagire con applicazioni e svolgere un'attività attraverso più passaggi.
TinyFish sta sviluppando un proprio modello web-native specializzato per queste attività di agente. Con l'espansione del lavoro sui modelli, il team ha dovuto creare anche l'infrastruttura circostante: calcolo GPU per il post-training, un sistema di valutazione per misurare il comportamento dell'intero agente, il serving in produzione e i dati necessari per comprendere le prestazioni del sistema.
Anziché gestire questi elementi su sistemi separati, TinyFish ha iniziato a creare il ciclo di vita dello sviluppo dei modelli su Databricks. AI Runtime fornisce un'infrastruttura GPU gestita per l'addestramento e il fine-tuning, mentre MLflow supporta la valutazione e Databricks Model Serving fornisce il livello di serving in produzione.
Per noi, l'addestramento del modello è solo una parte del problema. Dobbiamo sapere se una modifica rende effettivamente l'agente più efficace nel completare attività reali, e poi essere in grado di portare rapidamente quel miglioramento in produzione. Con AI Runtime, possiamo eseguire l'addestramento su GPU, valutare con MLflow e servire il nostro modello web-native senza dover creare uno stack separato per ogni fase.—Zach Richardson, Head of AI, TinyFish
TinyFish ha iniziato il post-training del suo modello web-native con un fine-tuning supervisionato e sta passando alla Direct Preference Optimization (DPO). Il team esegue questi workload su GPU gestite da Databricks tramite AI Runtime, consentendo ai ricercatori di lavorare con l'infrastruttura GPU senza dover gestire direttamente una piattaforma di addestramento separata.
L'attività di addestramento è strettamente legata al modo in cui TinyFish valuta il suo modello. Poiché il modello opera come parte di un agente web più ampio, la valutazione della risposta di un singolo modello racconta solo una parte della storia. TinyFish valuta invece se l'intero agente completa con successo l'attività richiesta.
Nel benchmark interno go/no-go, il modello web-native di TinyFish ha completato con successo 1.691 su 2.178 attività per agenti web, ottenendo un tasso di successo delle attività del 77,6%. Un LLM con ruolo di giudice esamina la richiesta originale, la cronologia delle azioni dell'agente e il risultato finale. Un'attività viene superata solo quando l'azione richiesta è completata o viene restituita la risposta corretta soddisfacendo tutti i requisiti; il completamento parziale, le risposte errate e i risultati non validi vengono considerati fallimenti.
Questo fornisce a TinyFish un segnale utile per lo sviluppo dei modelli. Il team può osservare in che modo le modifiche al modello influiscono sulle prestazioni dell'intero agente e utilizzare tali risultati per guidare il post-training successivo.
Le iterazioni riuscite del modello possono quindi passare in produzione tramite Databricks Model Serving. TinyFish serve già modelli di produzione su Databricks, tra cui il suo search reranker e il query rewriter. Il team ospita e serve sulla piattaforma anche il proprio modello web-native.
In un recente periodo di 15 giorni, TinyFish ha registrato 294.781 esecuzioni dell'agente che hanno coinvolto il suo modello web-native su 6,4 milioni di passaggi degli strumenti (tool steps). Il costo stimato del model serving in quel periodo è stato di 0,088 $ per esecuzione, ovvero 0,0040 $ per passaggio. Cifre che riflettono unicamente i costi di serving del modello web-native di TinyFish e non dell'intero stack dell'agente, e offrono al team un modo coerente per monitorare l'aspetto economico del serving insieme ai dati sulla qualità e sull'utilizzo in Databricks.
Insieme, queste funzionalità offrono a TinyFish un percorso continuo dal comportamento dell'agente al post-training, alla valutazione e al deployment. I risultati delle valutazioni, i dati sull'utilizzo e i report sui costi possono rimanere in Databricks insieme al workload di serving, fornendo al team una base comune per comprendere le prestazioni del modello e indirizzare il successivo sviluppo.
I foundation model di carattere generale svolgono ancora un ruolo importante nell'architettura degli agenti di TinyFish, ma il suo modello web-native mette a disposizione del team un sistema da ottimizzare nello specifico per le attività degli agenti web.
TinyFish può sviluppare e valutare il proprio modello rispetto alle attività che il suo prodotto deve effettivamente svolgere, invece di affidarsi esclusivamente ad API esterne di foundation model in tutto l'agente. Supportare questo approccio richiede molto più della semplice capacità delle GPU. Il ciclo di sviluppo comprende post-training, valutazione, serving in produzione e i dati operativi relativi al modello.
AI Runtime offre a TinyFish un'infrastruttura GPU gestita all'interno dello stesso ambiente Databricks utilizzato per il resto del ciclo di vita ML. Ciò consente al team di mantenere l'addestramento e il serving più vicini alla valutazione e ai dati operativi usati per comprendere le prestazioni del modello, anziché dover creare uno stack di deep learning separato per il modello.
A fianco dei propri modelli, TinyFish sta consolidando l'accesso ai foundation model esterni tramite Unity Gateway per il monitoraggio centralizzato dei costi, la gestione delle chiavi e la governance. Questo offre al team un modo più coerente per gestire il traffico dei modelli con l'espansione dello stack dell'agente.
Per un'azienda AI in crescita, il vantaggio è pratico: dover gestire un numero inferiore di sistemi autonomi significa poter dedicare più tempo d'ingegnerizzazione ai modelli e al comportamento del prodotto che differenziano TinyFish.
Il nostro vantaggio in TinyFish deriva dalla rapidità con cui riusciamo a migliorare l'agente. Non vogliamo che i nostri ingegneri trascorrano il loro tempo a gestire l'infrastruttura GPU o a spostare modelli e dati tra sistemi scollegati tra loro. Databricks ci fornisce un'unica base per creare, migliorare ed eseguire il nostro modello web-native, così il team può concentrarsi sul prodotto.—Sudheesh Nair, Co-Founder e CEO, TinyFish
TinyFish continua a far evolvere il proprio approccio allo sviluppo del modello web-native, andando oltre il fine-tuning supervisionato per passare alla DPO ed esplorando workload di addestramento più ampi man mano che il modello si sviluppa.
Il workflow sottostante è progettato per rimanere coerente man mano che queste tecniche cambiano. La valutazione dell'agente può mostrare dove il modello offre buone prestazioni e dove sono necessari ulteriori interventi. Queste informazioni possono confluire nel post-training, consentendo di valutare le nuove versioni rispetto ad attività complete e di servire dallo stesso ambiente i modelli pronti per la produzione.
Eseguendo questo ciclo di vita su Databricks, TinyFish può gestire l'infrastruttura GPU come parte della propria piattaforma ML, anziché come un sistema separato da assemblare e manutenere. In questo modo il team dispone di un percorso più diretto per passare da ciò che apprende sul modello in produzione alla successiva iterazione del modello stesso.
(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale
Iscriviti al nostro blog e ricevi gli ultimi articoli direttamente nella tua casella di posta.