LifestyleTehnologijaVijesti

InstructPipe: Generiranje vizualnih blokova za AI pipeline s ljudskim…

April 18, 2025 - Zhongyi Zhou, istraživački znanstvenik, i Ruofei Du, voditelj interaktivnog osjetila i grafike, Google XRInstructPipe je istraživački prototip koji omogućuje korisnicima vizualnog programiranja da generiraju AI pipeline iz ljudskih uputa, automatizirajući odabir i povezivanje čvorova.

April 18, 2025 – Zhongyi Zhou, istraživački znanstvenik, i Ruofei Du, voditelj interaktivnog osjetila i grafike, Google XR

InstructPipe je istraživački prototip koji omogućuje korisnicima vizualnog programiranja da generiraju AI pipeline iz ljudskih uputa, automatizirajući odabir i povezivanje čvorova. Ovaj alat je odličan za brže prototipiranje mašinskog učenja (ML) s interaktivnim alatima, a predstavljen je na konferenciji CHI 2023 i WebAI Summit 2024.

Visual Blocks je vizualni programski okvir koji vam omogućuje programiranje u vizualnom editoru spajanjem blokova na radnoj površini u tok blokova, koji nazivamo dijagramom čvorova ili AI pipeline. Vizualno programiranje pruža programerima iskustvo s niskim kodom, ali početnici još uvijek mogu imati poteškoća s postavljanjem i povezivanjem odgovarajućih čvorova s prazne radne površine.

U članku “InstructPipe: Generiranje Visual Blocks Pipelines s ljudskim uputama i LLMs”, objavljenom na CHI 2025, predstavljamo InstructPipe, AI asistenta za prototipiranje ML pipeline-a s tekstualnim uputama. U ovom okviru doprinijeli smo tri modula – dva modula velikog jezika (LLM) i interpreter koda – koji generiraju pseudokod za ciljani pipeline i renderiraju ga u vizualnom editoru za suradnju čovjek-AI.

Tehnička i korisnička evaluacija pokazala je da InstructPipe omogućuje korisnicima da optimiziraju svoj ML pipeline, smanje učenje i iskoriste otvorene naredbe za poticanje inovativnih ideja.

Demo InstructPipe: Korisnik može generirati Visual Blocks pipeline jednostavnim upitom našeg AI modela.

Generiranje pipeline-a iz uputa

Implementirali smo InstructPipe s dvostupanjskom strategijom LLM refinirajućeg upita, nakon čega slijedi korak interpretacije pseudokoda za renderiranje pipeline-a. Sljedeća slika ilustrira visoko razinu toka InstructPipe implementacije.

InstructPipe koristi dva LLM modula (istaknuta crvenom bojom) – Node Selector i Code Writer. Daje li korisnik uputu i oznaku pipeline-a (npr. multimodalni pipeline), prvo se Node Selector koristi za identificiranje popisa potencijalnih čvorova koji bi se koristili prema uputama. U Node Selectoru LLM-u dajemo vrlo kratak opis svakog čvora s ciljem filtriranja neodgovarajućih čvorova za ciljani pipeline. Odabrani čvorovi i originalni korisnički unos (upit i oznaka) zatim se daju Code Writeru, koji generira pseudokod (tj. kompakni kodni format koji definira odabire i veze bitnih čvorova) za željeni pipeline. U Code Writeru LLM-u dajemo detaljne opise i primjere svakog odabranog čvora kako bismo osigurali da LLM ima obiman kontekst za svaki kandidatski čvor. Na kraju, Code Interpreter se koristi za parsiranje pseudokoda i renderiranje vizualnog programskog pipeline-a s kojim korisnik može interagirati.

Korisnici opisuju željeni pipeline prirodnim jezikom, a InstructPipe automatski generira odgovarajući, uređivi pipeline odabiranjem čvorova, pisanjem pseudokoda i interpretiranjem u JSON formatu unutar Visual Blocks.

Predstavljanje pipeline-a

Sustav Visual Blocks predstavlja pipeline kao usmjereni aciklični graf (DAG) u JSON formatu. Da bismo komprimirali detaljan JSON datoteku, InstructPipe predstavlja pipeline kao pseudokod, koji se može dalje kompilirati u JSON formatirani pipeline. Pseudokod je vrlo učinkovit po tokenima, komprimira pipeline iz 2.8k tokena na 123 tokena. Pogledajte primjer pipeline-a i njegovog odgovarajućeg pseudokoda u sljedećoj slici. Istakli smo prvu liniju pod modulom procesora (tj. operaciju čvora PaLI) u četiri različite boje, predstavljajući četiri različite komponente programskog jezika. “pali_1_out” predstavlja naziv izlazne varijable čvora. “pali_1” je jedinstveni ID čvora. Zelena simbolika nakon dvotočke, tj. “pali”, određuje vrstu čvora. U ovom primjeru čvor s ID-om “pali_1” je čvor “pali”. Ostalo u zagradama, tj. “image=input_image_1, prompt=input_text_1”, definira argumente čvorova.

Primjer pipeline-a

Primjer pseudokoda

Node selector

Node Selector ima za cilj filtrirati neodgovarajuće čvorove pružajući LLM-u kratak opis svakog čvora. Upit koji smo koristili za LLM uključuje:

  • Opći opis zadatka i smjernice.
  • Popis vrsta čvorova s kratkim opisom koji objašnjava funkciju svakog čvora.
  • [Opcionalno] Neke čvorove ima preporučene parove.
  • Primjeri u kontekstu.

Intuicija ovog dizajna upita temelji se na tome kako postojeće biblioteke otvorenog koda (npr. Numpy) pružaju visoko razinu pregleda svih funkcija. Ova dokumentacija pruža korisnicima pregled svih dostupnih čvorova i njihovih funkcija, što olakšava korisnicima da odaberu odgovarajuće čvorove za njihov pipeline.

InstructPipe je revolucionaran alat koji transformira način na koji se ML pipeline-ovi kreiraju, pružajući korisnicima moć i fleksibilnost da brzo i efikasno generiraju kompleksne pipeline-ove s minimalnim naporom. S InstructPipeom, korisnici mogu fokusirati više na inovacije i manje na tehničke detalje, otvarajući nove mogućnosti za istraživanje i razvoj u području mašinskog učenja.

Česta pitanja

Kako InstructPipe razlikuje relevantne čvorove od neodgovarajućih?

InstructPipe koristi Node Selector modul koji pruža LLM-u kratak opis svakog čvora. Ovaj opis sadrži opći opis zadatka, smjernice, popis vrsta čvorova s njihovim funkcijama i primjerima u kontekstu. Na taj način, LLM može filtrirati neodgovarajuće čvorove i odabrati one koji su relevantni za zadani pipeline.

Može li InstructPipe generirati pipeline za bilo koju vrstu zadatka?

Dok je InstructPipe dizajniran za generiranje pipeline-a za širok spektar zadataka, njegova učinkovitost može varirati ovisno o složenosti i specifičnosti zadatka. Korisnici trebaju pružiti jasne i detaljne upute kako bi InstructPipe mogao generirati precizan i relevantan pipeline.

Koliko je brzo InstructPipe generira pipeline?

Brzina generiranja pipeline-a ovisi o složenosti zadatka i dostupnosti relevantnih čvorova. U prosjeku, InstructPipe generira pipeline za jednostavne zadatke unutar nekoliko sekundi, dok se za složenije zadatke može potrebno više vremena.

Može li InstructPipe raditi s drugim vizualnim programskim okvirima?

Trenutno, InstructPipe radi isključivo s Visual Blocks okvirom. Međutim, razvojni tim radi na proširenju funkcionalnosti InstructPipea kako bi podržao i druge vizualne programske okvire u budućim verzijama.

Kako InstructPipe poboljšava suradnju čovjek-AI?

InstructPipe poboljšava suradnju čovjek-AI pružajući korisnicima mogućnost da opisuju željeni pipeline prirodnim jezikom, dok AI generira odgovarajući pipeline. Ovaj proces omogućava korisnicima da brzo i efikasno generiraju kompleksne pipeline-ove, a istovremeno im omogućava da ostanu u kontroli i da prate tok rada.

Povezano

1 of 256

Odgovori

Vaša adresa e-pošte neće biti objavljena. Obavezna polja su označena sa * (obavezno)