Multimodaalisen tekoälyn lupaus on kaikkialla, edistyneestä terveydenhuollon diagnostiikasta rikkaampien ja dynaamisempien asiakaskokemusten luomiseen. Mutta niille meistä, jotka ovat juoksuhaudoissa, multimodaalisten järjestelmien rakentaminen – jotka pystyvät käsittelemään tekstiä, kuvia, ääntä ja muutakin – tuntuu usein räätälöityjen integraatioiden, vakiokoodin ja yhteensopivuusongelmien loputtomalta sotkulta. Tämä oli turhautumiseni, ja se johti lopulta AnyModalin luomiseen.
Todettakoon: ihmisten vuorovaikutus maailman kanssa ei rajoitu vain yhteen tietotyyppiin. Tulkitsemme sanoja, visuaalisia kuvia, ääniä ja fyysisiä tuntemuksia samanaikaisesti. Multimodaalisen tekoälyn käsite juontaa juurensa juuri tästä ideasta. Tuomalla usean tyyppistä dataa samaan käsittelyputkeen, multimodaalinen tekoäly mahdollistaa mallien selviytymisen tehtävistä, jotka olivat aiemmin liian monimutkaisia yksimodaalisille järjestelmille. Kuvittele terveydenhuollon sovelluksia, jotka analysoivat röntgensäteitä ja lääketieteellisiä muistiinpanoja yhdessä, tai asiakaspalvelujärjestelmiä, jotka ottavat huomioon sekä teksti- että äänivihjeet asiakkaan tunteen arvioimiseksi tarkasti.
Mutta tässä on haaste: vaikka yksimuotoiset mallit tekstille (kuten GPT) tai kuville (kuten ViT) ovat vakiintuneita, niiden yhdistäminen sujuvaan vuorovaikutukseen ei ole yksinkertaista. Tekninen monimutkaisuus on estänyt monia tutkijoita ja kehittäjiä tutkimasta tehokkaasti multimodaalista tekoälyä. Anna AnyModal .
Omassa työssäni koneoppimisen parissa huomasin, että vaikka työkalut, kuten GPT, ViT ja ääniprosessorit, ovat tehokkaita erikseen, multimodaalisten järjestelmien luominen yhdistämällä näitä työkaluja tarkoittaa usein niiden yhdistämistä kömpelöllä, projektikohtaisella koodilla. Tämä lähestymistapa ei skaalaudu. Nykyiset integrointiratkaisut ovat joko pitkälle erikoistuneita, suunniteltu vain tiettyihin tehtäviin (kuten kuvien tekstitys tai visuaalinen kysymys vastaaminen), tai ne vaativat turhauttavan määrän lisäkoodia vain saadakseen tietotyypit toimimaan yhdessä.
Nykyiset puitteet keskittyvät vain tiettyihin modaliteetin yhdistelmiin, mikä vaikeuttaa laajentamista uusiin tietotyyppeihin tai saman asennuksen mukauttamista erilaisiin tehtäviin. Tämä tekoälymallien "siilotettu" rakenne tarkoitti, että keksin pyörää jatkuvasti uudelleen. Silloin päätin rakentaa AnyModalin – joustavan, modulaarisen kehyksen, joka yhdistää kaikentyyppiset tiedot ilman vaivaa.
AnyModal on kehys, joka on suunniteltu yksinkertaistamaan ja virtaviivaistamaan multimodaalista tekoälyn kehitystä. Se on suunniteltu vähentämään eri syöttötyyppien yhdistämisen monimutkaisuutta käsittelemällä muiden kuin tekstisyötteiden tokenointia, koodausta ja luomista, mikä helpottaa uusien tietotyyppien lisäämistä suuriin kielimalleihin (LLM).
Konsepti pyörii modulaarisen lähestymistavan ympärillä syöttöputkeen. AnyModalilla voit vaihtaa ominaisuuskooderit (kuten Vision Transformerin kuville tai spektrogrammiprosessorin ääntä varten) ja yhdistää ne saumattomasti LLM:ään. Kehys tiivistää suuren osan monimutkaisuudesta, mikä tarkoittaa, että sinun ei tarvitse viettää viikkoja koodin kirjoittamiseen, jotta nämä järjestelmät olisivat yhteensopivia keskenään.
AnyModalin olennainen osa on syöttötokenizer , joka kattaa ei-tekstuaalisen datan ja LLM:n tekstipohjaisen syöttökäsittelyn välisen kuilun. Näin se toimii:
Tämä kaksikerroksinen lähestymistapa mahdollistaa sen, että malli käsittelee multimodaalista dataa yhtenä sekvenssinä, jolloin se voi luoda vastauksia, jotka vastaavat kaikkia syötetyyppejä. Pohjimmiltaan AnyModal muuntaa erilaiset tietolähteet yhtenäiseen muotoon, jota LLM:t voivat ymmärtää.
Antaaksemme sinulle käsityksen siitä, miten AnyModal toimii, katsotaanpa esimerkkiä kuvatietojen käyttämisestä LLM:ien kanssa.
from transformers import ViTImageProcessor, ViTForImageClassification from anymodal import MultiModalModel from vision import VisionEncoder, Projector # Step 1: Initialize Vision Components processor = ViTImageProcessor.from_pretrained('google/vit-base-patch16-224') vision_model = ViTForImageClassification.from_pretrained('google/vit-base-patch16-224') vision_encoder = VisionEncoder(vision_model) # Step 2: Define Projection Layer for Compatibility vision_tokenizer = Projector(in_features=vision_model.config.hidden_size, out_features=768) # Step 3: Initialize LLM and Tokenizer from transformers import AutoTokenizer, AutoModelForCausalLM llm_tokenizer = AutoTokenizer.from_pretrained("gpt2") llm_model = AutoModelForCausalLM.from_pretrained("gpt2") # Step 4: Build the AnyModal Multimodal Model multimodal_model = MultiModalModel( input_processor=None, input_encoder=vision_encoder, input_tokenizer=vision_tokenizer, language_tokenizer=llm_tokenizer, language_model=llm_model, input_start_token='<|imstart|>', input_end_token='<|imend|>', prompt_text="Describe this image: " )
Tämän modulaarisen asennuksen avulla kehittäjät voivat kytkeä ja pelata eri enkoodereita ja LLM:itä ja mukauttaa mallia erilaisiin multimodaalisiin tehtäviin kuvien tekstityksestä kysymyksiin vastaamiseen.
AnyModalia on jo sovellettu useisiin käyttötapauksiin jännittävin tuloksin:
Abstrahoimalla eri tietotyyppien käsittelyn monimutkaisuudesta AnyModal antaa kehittäjille mahdollisuuden rakentaa nopeasti prototyyppejä tai jalostaa edistyneitä järjestelmiä ilman multimodaalisen integraation tyypillisiä pullonkauloja.
Jos yrität rakentaa multimodaalista järjestelmää, olet todennäköisesti kohdannut seuraavat haasteet:
AnyModal korjaa nämä kipukohdat vähentämällä kattilalevyä, tarjoamalla joustavia moduuleja ja mahdollistamalla nopean mukauttamisen. Sen sijaan, että taistelevat yhteensopivuusongelmien kanssa, kehittäjät voivat keskittyä älykkäiden järjestelmien rakentamiseen nopeammin ja tehokkaammin.
AnyModalin matka on vasta alussa. Työskentelen parhaillaan lisätäkseni tukea lisämodaliteeteille, kuten äänitekstityksille, ja laajentaakseni viitekehystä, jotta se olisi entistä mukautuvampi niche-käyttötapauksiin. Yhteisön palaute ja panokset ovat ratkaisevan tärkeitä sen kehittämisessä – jos olet kiinnostunut multimodaalisesta tekoälystä, kuulisin mielelläni ideasi tai yhteistyön.
Jos olet innostunut multimodaalisesta tekoälystä tai haluat virtaviivaistaa kehitysprosessiasi, kokeile AnyModalia. Tehdään yhteistyötä avataksemme tekoälyn innovaation seuraavan rajan.