Generatiivsete AI-rakenduste edu paljudes tööstusharudes on pälvinud nende ettevõtete tähelepanu ja huvi kogu maailmas, kes soovivad taastoota ja ületada konkurentide saavutusi või lahendada uusi ja põnevaid kasutusjuhtumeid. Need kliendid otsivad alusmudeleid, nagu TII Falcon, Stable Diffusion XL või OpenAI GPT-3.5, kui generatiivse AI innovatsiooni mootoreid.
Vundamendimudelid on generatiivsete AI-mudelite klass, mis on tänu suurele hulgale struktureerimata andmetele, mille kohta neid on koolitatud, mõistma ja genereerima inimlikku sisu. Need mudelid on muutnud revolutsiooni erinevates arvutinägemise (CV) ja loomuliku keele töötlemise (NLP) ülesannetes, sealhulgas piltide genereerimine, tõlkimine ja küsimustele vastamine. Need on paljude tehisintellekti rakenduste ehitusplokkideks ja neist on saanud täiustatud intelligentsete süsteemide väljatöötamise oluline komponent.
Vundamendimudelite kasutuselevõtt võib aga tuua kaasa olulisi väljakutseid, eriti kulude ja ressursinõuete osas. Need mudelid on tuntud oma suuruse poolest, ulatudes sageli sadadest miljonitest kuni miljarditeni. Nende suur suurus nõuab ulatuslikke arvutusressursse, sealhulgas võimsat riistvara ja märkimisväärset mälumahtu. Tegelikult on alusmudelite juurutamiseks tavaliselt vaja vähemalt ühte (sageli rohkem) GPU-d, et arvutuskoormusega tõhusalt toime tulla. Näiteks mudel TII Falcon-40B Instruct nõuab vähemalt ml.g5.12xlarge eksemplari edukaks mällu laadimiseks, kuid toimib kõige paremini suuremate eksemplaridega. Seetõttu võib nende mudelite juurutamise ja hooldamise investeeringutasuvus (ROI) olla ärilise väärtuse tõestamiseks liiga madal, eriti arendustsüklite või suure töökoormuse korral. Selle põhjuseks on jooksvad kulud, mis tulenevad GPU-toega eksemplaride olemasolust pikkade seansside jaoks, potentsiaalselt ööpäevaringselt.
Selle aasta alguses teatasime Amazonase aluspõhi, serverita API, et pääseda juurde Amazoni ja meie generatiivsete AI partnerite alusmudelitele. Kuigi see on praegu privaatses eelvaates, võimaldab selle serverita API teil kasutada Amazoni, Anthropicu, Stability AI ja AI21 alusmudeleid, ilma et peaksite ise lõpp-punkte juurutama. Siiski on avatud lähtekoodiga mudelid sellistest kogukondadest nagu Hugging Face palju kasvanud ja mitte igaüks neist pole Amazon Bedrocki kaudu kättesaadavaks tehtud.
Selles postituses käsitleme neid olukordi ja lahendame suurte kuludega riskimise probleemi, juurutades selleks suuri vundamendimudeleid Amazon SageMaker asünkroonsed lõpp-punktid Alates Amazon SageMaker JumpStart. See võib aidata vähendada arhitektuuri kulusid, võimaldades lõpp-punktil töötada ainult siis, kui päringud on järjekorras ja lühikest kasutusaega, samal ajal vähendades nullini, kui ükski taotlus ei oota teenindamist. See kõlab suurepäraselt paljude kasutusjuhtude jaoks; nullini vähendatud lõpp-punkt toob aga enne järelduste esitamist kasutusele külmkäivitusaja.
Lahenduse ülevaade
Järgmine diagramm illustreerib meie lahenduse arhitektuuri.
Meie juurutatud arhitektuur on väga lihtne:
- Kasutajaliides on sülearvuti, mille saab asendada Streamliti või sarnase tehnoloogiaga üles ehitatud veebikasutajaliidesega. Meie puhul on märkmik an Amazon SageMaker Studio sülearvuti, mis töötab ml.m5.large eksemplaris PyTorch 2.0 Python 3.10 protsessori tuumaga.
- Märkmik küsib lõpp-punkti kolmel viisil: SageMaker Python SDK, AWS SDK Pythoni jaoks (Boto3) ja LangChain.
- Lõpp-punkt töötab SageMakeris asünkroonselt ja lõpp-punktis juurutame mudeli Falcon-40B Instruct. Praegu on see juhiste mudelite osas nüüdisaegne ja saadaval SageMaker JumpStartis. Üks API-kutse võimaldab meil mudelit lõpp-punktis juurutada.
Mis on SageMakeri asünkroonne järeldus
SageMakeri asünkroonne järeldus on üks neljast SageMakeri juurutusvalikust koos reaalajas lõpp-punktide, partii järelduste ja serverita järeldustega. Erinevate juurutusvalikute kohta lisateabe saamiseks vaadake Juurutage järelduste tegemiseks mudeleid.
SageMakeri asünkroonsed järeldused seab sissetulevad päringud järjekorda ja töötleb neid asünkroonselt, muutes selle valiku ideaalseks suurte, kuni 1 GB kasuliku koormuse, pikkade töötlemisaegade ja peaaegu reaalajas latentsusnõuetega päringute jaoks. Peamine eelis, mida see pakub suurte vundamendimudelitega tegelemisel, eriti kontseptsiooni tõestamise (POC) või arenduse ajal, on aga võimalus konfigureerida asünkroonset järeldust, et skaleerida eksemplaride arvu nullini, kui pole päringuid protsessi, säästes sellega kulusid. Lisateavet SageMakeri asünkroonse järelduse kohta leiate aadressilt Asünkroonne järeldus. Järgmine diagramm illustreerib seda arhitektuuri.
Asünkroonse järelduse lõpp-punkti juurutamiseks peate looma AsyncInferenceConfig
objektiks. Kui loote AsyncInferenceConfig
argumente täpsustamata, vaikimisi S3OutputPath
on s3://sagemaker-{REGION}-{ACCOUNTID}/async-endpoint-outputs/{UNIQUE-JOB-NAME}
ja S3FailurePath
on s3://sagemaker-{REGION}-{ACCOUNTID}/async-endpoint-failures/{UNIQUE-JOB-NAME}
.
Mis on SageMaker JumpStart
Meie mudel pärineb SageMaker JumpStartist, mis on SageMakeri funktsioon, mis kiirendab masinõppe (ML) teekonda, pakkudes eelkoolitatud mudeleid, lahendusmalle ja näidismärkmikke. See pakub juurdepääsu laiale valikule eelkoolitatud mudelitele erinevate probleemitüüpide jaoks, võimaldades teil alustada oma ML-i ülesandeid tugeva alusega. SageMaker JumpStart pakub ka lahendusmalle tavaliste kasutusjuhtude jaoks ja näidismärkmikke õppimiseks. SageMaker JumpStart võimaldab teil vähendada oma ML-projektide käivitamiseks kuluvat aega ja vaeva ühe klõpsuga lahenduste käivitamise ja ulatuslike ressurssidega praktiliste ML-kogemuste saamiseks.
Järgmisel ekraanipildil on näide vaid mõnest SageMaker JumpStart kasutajaliideses saadaolevast mudelist.
Mudeli juurutamine
Meie esimene samm on mudeli juurutamine SageMakeris. Selleks saame kasutada kasutajaliidest SageMaker JumpStart või SageMaker Python SDK, mis pakub API-d, mida saame kasutada mudeli asünkroonsesse lõpp-punkti juurutamiseks:
Selle kõne lõpetamiseks võib kuluda umbes 10 minutit. Selle aja jooksul keeratakse lõpp-punkt üles, konteiner koos mudeliartefaktidega laaditakse lõpp-punkti alla, mudeli konfiguratsioon laaditakse SageMakeri JumpStartist, seejärel avalikustatakse asünkroonne lõpp-punkt DNS-i lõpp-punkti kaudu. Veendumaks, et meie lõpp-punkti saab skaleerida nullini, peame rakenduse automaatse skaleerimise abil konfigureerima asünkroonses lõpp-punktis automaatse skaleerimise. Peate esmalt registreerima oma lõpp-punkti variandi rakenduse automaatse skaleerimisega, määratlema skaleerimispoliitika ja seejärel rakendama skaleerimispoliitika. Selles konfiguratsioonis kasutame kohandatud mõõdikut kasutades CustomizedMetricSpecification
Ehk ApproximateBacklogSizePerInstance
, nagu on näidatud järgmises koodis. Üksikasjaliku loendi jaoks Amazon CloudWatch teie asünkroonse järelduse lõpp-punktiga saadaolevaid mõõdikuid, vaadake Jälgimine CloudWatchiga.
Saate kontrollida, kas see reegel on edukalt seadistatud, navigeerides SageMakeri konsooli ja valides Lõpp-punktid all Järeldus navigeerimispaanil ja otsides äsja juurutatud lõpp-punkti.
Kutsuge asünkroonne lõpp-punkt
Lõpp-punkti käivitamiseks peate sisestama päringu kasuliku koormuse Amazoni lihtne salvestusteenus (Amazon S3) ja osutage sellele kasulikule koormusele osana InvokeEndpointAsync
nõuda. Väljakutsumise korral seab SageMaker taotluse töötlemiseks järjekorda ning tagastab vastusena identifikaatori ja väljundi asukoha. Töötlemisel asetab SageMaker tulemuse Amazon S3 asukohta. Saate valikuliselt valida, kas saada edu- või veateatisi Amazoni lihtne teavitusteenus (Amazon SNS).
SageMaker Python SDK
Pärast juurutamise lõpetamist tagastab see an AsyncPredictor
objektiks. Asünkroonse järelduse tegemiseks peate andmed Amazon S3 üles laadima ja kasutama predict_async()
meetod, mille sisendiks on S3 URI. See tagastab an AsyncInferenceResponse
objekti ja saate tulemust kontrollida kasutades get_response()
meetod.
Teise võimalusena, kui soovite tulemust perioodiliselt kontrollida ja genereerimisel tagastada, kasutage predict()
meetod. Kasutame seda teist meetodit järgmises koodis:
Boto3
Uurime nüüd invoke_endpoint_async
meetod Boto3'st sagemaker-runtime
klient. See võimaldab arendajatel asünkroonselt kutsuda SageMakeri lõpp-punkti, pakkudes märgi edenemise jälgimiseks ja vastuse hilisemaks otsimiseks. Boto3 ei paku võimalust oodata asünkroonse järelduse lõpuleviimist nagu SageMaker Pythoni SDK get_result()
operatsiooni. Seetõttu kasutame ära asjaolu, et Boto3 salvestab Amazon S3 järeldusväljundi response["OutputLocation"]
. Järeldusfaili Amazon S3-sse kirjutamise ootamiseks saame kasutada järgmist funktsiooni:
Selle funktsiooni abil saame nüüd lõpp-punkti päringu teha:
LangChain
LangChain on avatud lähtekoodiga raamistik, mille 2022. aasta oktoobris käivitas Harrison Chase. See lihtsustab suurte keelemudelite (LLM) kasutavate rakenduste arendamist, pakkudes integratsioone erinevate süsteemide ja andmeallikatega. LangChain võimaldab dokumentide analüüsi, kokkuvõtete tegemist, vestlusrobotite loomist, koodianalüüsi ja palju muud. See on populaarsust kogunud sadade arendajate panuse ja riskifirmade märkimisväärse rahastamisega. LangChain võimaldab ühendada LLM-e väliste allikatega, võimaldades luua dünaamilisi andmetundlikke rakendusi. See pakub arendusprotsessi sujuvamaks muutmiseks teeke, API-sid ja dokumentatsiooni.
LangChain pakub raamatukogusid ja näiteid SageMakeri lõpp-punktide kasutamiseks oma raamistikuga, muutes SageMakeris hostitud ML-mudelite kasutamise ahela "ajuna" lihtsamaks. Lisateavet selle kohta, kuidas LangChain SageMakeriga integreerub, vaadake jaotisest SageMakeri lõpp-punkt LangChaini dokumentatsioonis.
LangChaini praeguse juurutamise üks piiranguid on see, et see ei toeta natiivselt asünkroonseid lõpp-punkte. LangChaini asünkroonse lõpp-punkti kasutamiseks peame määratlema uue klassi, SagemakerAsyncEndpoint
, mis pikendab SagemakerEndpoint
klass juba saadaval LangChainis. Lisaks pakume järgmist teavet:
- S3 ämber ja eesliide, kuhu asünkroonne järeldus salvestab sisendid (ja väljundid)
- Maksimaalne arv sekundeid oodata enne ajalõppu
- An
updated _call()
funktsioon lõpp-punkti päringu tegemiseksinvoke_endpoint_async()
asemelinvoke_endpoint()
- Viis asünkroonse lõpp-punkti äratamiseks, kui see on külmkäivitusel (mahandatud nullini)
Vastloodud ülevaatamiseks SagemakerAsyncEndpoint
, saate vaadata sagemaker_async_endpoint.py
fail saadaval GitHubil.
Koristage
Kui olete lõpp-punktist järelduste genereerimise testimise lõpetanud, ärge unustage lõpp-punkti kustutada, et vältida lisatasusid.
Järeldus
Suurte vundamendimudelite (nt TII Falcon) juurutamisel on kulude optimeerimine ülioluline. Need mudelid nõuavad võimsat riistvara ja suurt mälumahtu, mis põhjustab suuri infrastruktuurikulusid. SageMakeri asünkroonne järeldus, juurutusvalik, mis töötleb taotlusi asünkroonselt, vähendab kulusid, skaleerides eksemplaride arvu nullini, kui ootel taotlusi pole. Selles postituses demonstreerisime, kuidas juurutada suuri SageMakeri JumpStart vundamendimudeleid SageMakeri asünkroonsetesse lõpp-punktidesse. Esitasime koodinäiteid, kasutades SageMaker Python SDK, Boto3 ja LangChaini, et illustreerida erinevaid meetodeid asünkroonsete lõpp-punktide kutsumiseks ja tulemuste toomiseks. Need tehnikad võimaldavad arendajatel ja teadlastel kulusid optimeerida, kasutades samal ajal täiustatud keelemõistmissüsteemide alusmudelite võimalusi.
Asünkroonse järelduse ja SageMaker JumpStarti kohta lisateabe saamiseks vaadake järgmisi postitusi:
Andmeid autor
Davide Gallitelli on tehisintellekti/ML-i spetsialiseerunud lahenduste arhitekt EMEA piirkonnas. Ta asub Brüsselis ja teeb tihedat koostööd klientidega üle kogu Beneluxi. Ta on olnud arendaja juba väga noorest peale, alustades kodeerimisega 7-aastaselt. Ta alustas AI/ML-i õppimist ülikoolis ja on sellest ajast peale sellesse armunud.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- PlatoData.Network Vertikaalne generatiivne Ai. Jõustage ennast. Juurdepääs siia.
- PlatoAiStream. Web3 luure. Täiustatud teadmised. Juurdepääs siia.
- PlatoESG. Autod/elektrisõidukid, Süsinik, CleanTech, Energia, Keskkond päikeseenergia, Jäätmekäitluse. Juurdepääs siia.
- PlatoTervis. Biotehnoloogia ja kliiniliste uuringute luureandmed. Juurdepääs siia.
- ChartPrime. Tõsta oma kauplemismängu ChartPrime'iga kõrgemale. Juurdepääs siia.
- BlockOffsets. Keskkonnakompensatsiooni omandi ajakohastamine. Juurdepääs siia.
- Allikas: https://aws.amazon.com/blogs/machine-learning/optimize-deployment-cost-of-amazon-sagemaker-jumpstart-foundation-models-with-amazon-sagemaker-asynchronous-endpoints/
- :on
- :on
- :mitte
- : kus
- $ UP
- 1
- 10
- 100
- 12
- 13
- 15%
- 1M
- 2022
- 25
- 7
- a
- Võimalik
- MEIST
- kiirendab
- Nõustub
- juurdepääs
- saavutusi
- üle
- tegevus
- Lisaks
- edasijõudnud
- ADEelis
- pärast
- vanus
- AI
- AI mudelid
- AI / ML
- Lubades
- võimaldab
- juba
- Ka
- Kuigi
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon Web Services
- summa
- summad
- an
- analüüs
- ja
- teatas
- Teine
- Antroopne
- mistahes
- API
- API-liidesed
- taotlus
- rakendused
- kehtima
- arhitektuur
- OLEME
- argumendid
- Kunst
- AS
- At
- tähelepanu
- meelitanud
- auto
- saadaval
- keskmine
- vältima
- AWS
- põhineb
- BE
- muutuma
- olnud
- enne
- on
- BEST
- suurem
- miljardeid
- Plokid
- keha
- Murdma
- Brüsselis
- Ehitus
- ehitatud
- äri
- kuid
- by
- helistama
- kutsutud
- CAN
- võimeid
- võime
- võimeline
- Võimsus
- juhul
- juhtudel
- kett
- ketid
- väljakutseid
- koormuste
- tagaajamine
- chatbot
- kontrollima
- Vali
- valimine
- klass
- klient
- lähedalt
- kood
- külm
- Tulema
- tuleb
- ühine
- Ühenduste
- Ettevõtted
- konkurendid
- täitma
- Lõpetatud
- Lõpetab
- komponent
- terviklik
- arvuti
- Arvuti visioon
- mõiste
- konfiguratsioon
- ühendus
- konsool
- Konteiner
- sisu
- sissemaksed
- Maksma
- kulud
- looma
- loodud
- loomine
- otsustav
- Praegune
- Praegu
- tava
- Kliendid
- lõigatud
- kärpida kulusid
- tsüklit
- andmed
- tegelema
- vaikimisi
- määratlema
- nõudmisi
- Näidatud
- juurutada
- lähetatud
- juurutamine
- kasutuselevõtu
- üksikasjalik
- dev
- arendaja
- Arendajad
- & Tarkvaraarendus
- DIKT
- erinev
- Diffusion
- mõõdud
- blokeeritud
- DNS
- do
- dokument
- dokumentatsioon
- Ei tee
- tehtud
- alla
- kaks
- ajal
- dünaamiline
- e
- lihtsam
- tõhusalt
- jõupingutusi
- teine
- EMEA
- võimaldama
- võimaldab
- Lõpp-punkt
- Mootorid
- piisavalt
- viga
- eriti
- Iga
- näide
- näited
- Välja arvatud
- erand
- põnev
- kulud
- kogemus
- uurima
- avatud
- laieneb
- ulatuslik
- väline
- lisatasu
- nägu
- asjaolu
- Langenud
- vale
- tunnusjoon
- fail
- ettevõtetele
- esimene
- Järel
- eest
- Sihtasutus
- neli
- Raamistik
- Alates
- funktsioon
- rahastamise
- saadud
- loodud
- teeniva
- põlvkond
- generatiivne
- Generatiivne AI
- GitHub
- hea
- GPU
- suur
- Kasvavad
- käepide
- riistvara
- Olema
- võttes
- he
- aitama
- siin
- Suur
- võõrustas
- Kuidas
- Kuidas
- aga
- HTML
- http
- HTTPS
- sajad
- sadu miljoneid
- ideaalne
- tunnus
- if
- illustreerib
- pilt
- täitmine
- import
- in
- Kaasa arvatud
- Sissetulev
- näitab
- tööstusharudes
- info
- Infrastruktuur
- Innovatsioon
- sisend
- sisendite
- Näiteks
- selle asemel
- Integreerib
- integratsioon
- Intelligentne
- huvi
- Interface
- sisse
- kehtestama
- investeering
- IT
- ITS
- teekond
- jpg
- Json
- lihtsalt
- teatud
- keel
- suur
- Hilinemine
- pärast
- käivitatud
- käivitab
- juhtivate
- Õppida
- õppimine
- kõige vähem
- raamatukogud
- nagu
- piirid
- nimekiri
- koormus
- liising
- Pikk
- otsin
- Partii
- armastus
- Madal
- masin
- masinõpe
- tehtud
- põhiline
- säilitamine
- tegema
- Tegemine
- palju
- max
- maksimaalne
- Mälu
- meetod
- meetodid
- meetriline
- Meetrika
- miljonid
- protokoll
- ML
- mudel
- mudelid
- rohkem
- nimi
- Natural
- Natural Language Processing
- navigeerimine
- NAVIGATSIOON
- Vajadus
- Uus
- äsja
- järgmine
- nlp
- ei
- märkmik
- teade
- teated
- nüüd
- number
- objekt
- oktoober
- of
- pakkuma
- pakkumine
- Pakkumised
- sageli
- on
- ONE
- ainult
- avatud lähtekoodiga
- töö
- optimeerima
- optimeerimine
- valik
- Valikud
- or
- meie
- välja
- väljund
- pane
- parameetrid
- osa
- eriti
- partnerid
- kuni
- täitma
- täidab
- pilt
- Koht
- Kohad
- Platon
- Platoni andmete intelligentsus
- PlatoData
- PoC
- poliitika
- populaarsus
- võimalik
- post
- Postitusi
- potentsiaalselt
- võim
- võimas
- Praktiline
- ennustus
- Predictor
- Eelvaade
- trükk
- era-
- Probleem
- protsess
- Protsessid
- töötlemine
- Edu
- projektid
- tõend
- tõendi mõiste
- Tõesta
- anda
- tingimusel
- annab
- pakkudes
- Python
- pütorch
- päringud
- küsimus
- tõstma
- valik
- alates
- Lugenud
- valmis
- reaalajas
- saama
- vähendama
- vähendab
- piirkond
- registreerima
- meeles pidama
- kõrvaldama
- asendatakse
- taotleda
- Taotlusi
- nõudma
- nõutav
- Nõuded
- Vajab
- Teadlased
- ressurss
- Vahendid
- vastus
- kaasa
- Tulemused
- tagasipöördumine
- Tulu
- läbi
- revolutsiooniliselt
- riskides
- ROI
- jooks
- jooksmine
- salveitegija
- säästmine
- skaalautuvia
- Skaala
- ketendamine
- SDK
- Teine
- sekundit
- SELF
- teenima
- Serverita
- teenus
- Teenused
- istungid
- komplekt
- Lühike
- näidatud
- Näitused
- märkimisväärne
- sarnane
- lihtne
- alates
- ühekordne
- olukordades
- SUURUS
- suurused
- tahke
- lahendus
- Lahendused
- LAHENDAGE
- mõned
- Allikad
- spetsialist
- kedratud
- Stabiilsus
- stabiilne
- algus
- alustatud
- Käivitus
- riik
- Samm
- Peatus
- ladustamine
- salvestada
- lihtne
- kiirendama
- mahukas
- edu
- Edukalt
- selline
- toetama
- Toetab
- kindel
- ületama
- süsteemid
- Võtma
- sihtmärk
- ülesanded
- tehnikat
- Tehnoloogia
- malle
- tingimused
- Testimine
- tänan
- et
- .
- Riik
- oma
- Neile
- SIIS
- Seal.
- sellega
- seetõttu
- Need
- nad
- see
- Sel aastal
- kolm
- Läbi
- läbi kogu
- aeg
- korda
- ajastamine
- et
- kokku
- sümboolne
- liiga
- Jälgimine
- koolitatud
- Tõlge
- tõsi
- püüdma
- liigid
- ui
- all
- mõistmine
- Ülikool
- kuni
- peale
- us
- kasutama
- Kasutaja
- Kasutajaliides
- kasutamine
- tavaliselt
- väärtus
- variant
- eri
- suur
- ettevõtmine
- kontrollima
- väga
- kaudu
- nägemus
- ootama
- ootamine
- Ärka
- Ärka üles
- tahan
- oli
- Tee..
- kuidas
- we
- web
- veebiteenused
- millal
- kas
- mis
- kuigi
- WHO
- lai
- Lai valik
- will
- koos
- ilma
- Võitis
- töötab
- ülemaailmne
- oleks
- kirjalik
- aasta
- sa
- noor
- Sinu
- ise
- sephyrnet
- null