Tänään ilmoitamme mallimuistikirjojen saatavuudesta, jotka esittelevät kysymyksiin vastaustehtäviä käyttäen Retrieval Augmented Generation (RAG) -pohjaista lähestymistapaa suurilla kielimalleilla (LLM) Amazon SageMaker JumpStart. Tekstin luominen RAG:n avulla LLM:ien kanssa mahdollistaa verkkotunnuskohtaisten tekstitulosteiden luomisen toimittamalla erityisiä ulkoisia tietoja osana LLM:ille syötettyä kontekstia.
JumpStart on koneoppimiskeskus (ML), joka voi auttaa sinua nopeuttamaan ML-matkaasi. JumpStart tarjoaa monia valmiiksi koulutettuja kielimalleja nimeltä perusmallit jotka voivat auttaa sinua suorittamaan tehtäviä, kuten artikkelien yhteenvedon, kysymyksiin vastaamisen sekä keskustelun ja kuvan luomisen.
Tässä viestissä kuvailemme RAG:ta ja sen etuja sekä osoitamme, kuinka pääset nopeasti alkuun käyttämällä esimerkkimuistikirjaa kysymykseen vastaustehtävän ratkaisemiseksi käyttämällä RAG-toteutusta LLM:ien kanssa Jumpstartissa. Esittelemme kaksi lähestymistapaa:
- Kuinka ratkaista ongelma avoimen lähdekoodin avulla LangChain kirjasto ja Amazon Sage Maker päätepisteet muutamalla koodirivillä
- Kuinka käyttää SageMaker KNN -algoritmia suuren mittakaavan datan semanttisen haun suorittamiseen SageMaker-päätepisteiden avulla
LLMS ja rajoitukset
LLM:t ovat koulutettuja käyttämään suuria määriä strukturoimatonta dataa ja ovat hyviä yleisessä tekstin luomisessa. LLM:t voivat tallentaa faktatietoa harjoittamalla parametrejaan suurelle luonnollisen kielen dataaineistolle.
Valmiiksi koulutettujen LLM:ien käytöllä on muutamia rajoituksia:
- Heidät koulutetaan yleensä offline-tilassa, mikä tekee mallista agnostisen uusimpien tietojen suhteen (esimerkiksi vuosina 2011–2018 koulutetulla chatbotilla ei ole tietoa COVID-19:stä).
- He tekevät ennusteita etsimällä vain sen parametreihin tallennettua tietoa, mikä johtaa huonompaan tulkintaan.
- He ovat enimmäkseen koulutettuja yleisiin verkkotunnuskorpuksiin, mikä tekee niistä vähemmän tehokkaita toimialuekohtaisissa tehtävissä. On skenaarioita, joissa haluat mallien luovan tekstiä tiettyjen tietojen perusteella yleisten tietojen sijaan. Esimerkiksi sairausvakuutusyhtiö saattaa haluta, että heidän kysymyksiinsä vastaava robotti vastaa kysymyksiin käyttämällä yrityksensä asiakirjavarastoon tai tietokantaan tallennettuja viimeisimpiä tietoja, jotta vastaukset ovat tarkkoja ja heijastavat sen ainutlaatuisia liiketoimintasääntöjä.
Tällä hetkellä LLM:issä on kaksi suosittua tapaa viitata tiettyihin tietoihin:
- Lisää tiedot kontekstina mallikehotteeseen, jotta voit tarjota tietoja, joita malli voi käyttää tuloksen luomisessa
- Tarkenna mallia antamalla tiedosto, jossa on kehote- ja täydennysparit
Kontekstipohjaisen lähestymistavan haasteena on, että malleissa on rajoitettu kontekstikoko, ja kaikkien asiakirjojen sisällyttäminen kontekstiksi ei välttämättä sovi mallin sallittuun kontekstikokoon. Käytetystä mallista riippuen laajemmasta kontekstista voi aiheutua myös lisäkustannuksia.
Hienosäätöä varten oikean muotoisen tiedon luominen on aikaa vievää ja kustannuksia. Lisäksi, jos hienosäätöön käytetty ulkoinen data muuttuu usein, se merkitsisi toistuvia hienosäätöjä ja uudelleenkoulutusta tarkkojen tulosten luomiseksi. Säännöllinen koulutus vaikuttaa nopeuteen markkinoille ja lisää ratkaisun kokonaiskustannuksia.
Näiden rajoitusten osoittamiseksi käytimme LLM Flan T5 XXL -mallia ja esitimme seuraavan kysymyksen:
Saamme seuraavan vastauksen:
Kuten näet, vastaus ei ole tarkka. Oikean vastauksen tulisi olla, että kaikki SageMaker-instanssit tukevat Managed Spot Training -ohjelmaa.
Yritimme samaa kysymystä, mutta lisäkonteksti välitettiin kysymyksen mukana:
Saimme tällä kertaa seuraavan vastauksen:
Vastaus on parempi, mutta ei silti tarkka. Todellisissa tuotantokäytöissä käyttäjät voivat kuitenkin lähettää erilaisia kyselyitä, ja tarkkojen vastausten saamiseksi saatat haluta sisällyttää kaikki tai useimmat saatavilla olevista tiedoista osana staattista kontekstia tarkkojen vastausten luomiseksi. Siksi tällä lähestymistavalla saatamme osua kontekstin koon rajoitukseen, koska jopa ei-olennainen informaatio kysytylle kysymykselle lähetetään osana kontekstia. Tässä voit käyttää RAG-pohjaista lähestymistapaa luodaksesi skaalautuvia ja tarkkoja vastauksia käyttäjän kyselyihin.
Haku laajennettu sukupolvi
Ratkaisemaan keskustelemamme rajoitukset voimme käyttää Retrieval Augmented Generation (RAG) -tekniikkaa LLM:ien kanssa. RAG hakee tiedot kielimallin ulkopuolelta (ei-parametrinen) ja täydentää kehotteita lisäämällä asiaankuuluvat haetut tiedot kontekstissa. RAG-mallit esitteli Lewis et ai. vuonna 2020 mallina, jossa parametrinen muisti on esiopetettu seq2seq-malli ja ei-parametrinen muisti on Wikipedian tiheä vektoriindeksi, johon pääsee esikoulutetulla hermonoutajalla.
RAG:ssa ulkoiset tiedot voivat tulla useista tietolähteistä, kuten asiakirjavarastosta, tietokannoista tai sovellusliittymistä. Ensimmäinen vaihe on muuntaa asiakirjat ja käyttäjän kysely muotoon, jotta niitä voidaan verrata ja suorittaa osuvuushaku. Jotta muodot olisivat vertailukelpoisia osuvuushaun tekemiseen, dokumenttikokoelma (tietokirjasto) ja käyttäjän lähettämä kysely muunnetaan numeerisiksi esityksiksi käyttämällä upotettuja kielimalleja. Upotukset ovat pohjimmiltaan numeerisia esityksiä käsitteestä tekstissä. Seuraavaksi käyttäjän kyselyn upotuksen perusteella sen relevantti teksti tunnistetaan dokumenttikokoelmassa upotustilassa olevan samankaltaisuushaun avulla. Sitten käyttäjän antama kehote liitetään haetulla tekstillä ja se lisätään kontekstiin. Kehote lähetetään nyt LLM:lle, ja koska kontekstissa on relevanttia ulkoista dataa alkuperäisen kehotteen ohella, mallin tulos on olennainen ja tarkka.
Jotta viiteasiakirjojen tiedot pysyvät ajan tasalla, voit päivittää asiakirjat asynkronisesti ja päivittää dokumenttien upotusesityksen. Tällä tavalla päivitettyjä asiakirjoja käytetään vastausten luomiseen tuleviin kysymyksiin, jotta saadaan tarkkoja vastauksia.
Seuraavassa kaaviossa esitetään käsitteellinen kulku RAG:n käyttämiseksi LLM:ien kanssa.
Tässä viestissä näytämme, kuinka kysymysvastaussovellus otetaan käyttöön seuraavilla vaiheilla:
- Luo upotus jokaiselle tietokirjaston asiakirjalle SageMaker GPT-J-6B -upotusmallilla.
- Tunnista tärkeimmät K tärkeimmät asiakirjat käyttäjän kyselyn perusteella.
- Luo kyselyäsi varten kyselyn upotus käyttämällä samaa upotusmallia.
- Hae upotustilasta tärkeimmän K tärkeimmän asiakirjan hakemistoista käyttämällä muistissa olevaa FAISS-hakua.
- Käytä hakemistoja hakeaksesi vastaavat asiakirjat.
- Käytä haettuja asiakirjoja kontekstina kehotteen ja kysymyksen kanssa ja lähetä ne SageMaker LLM:lle vastauksen luomiseksi.
Esittelemme seuraavat lähestymistavat:
- Kuinka ratkaista kysymykseen vastaustehtävä SageMaker LLM:illä ja upottamalla päätepisteet ja avoimen lähdekoodin kirjasto LangChain muutamalla koodirivillä. Käytämme erityisesti kahta SageMaker-päätepistettä LLM- (Flan T5 XXL) ja upotusmallille (GPT-J 6B), ja käytetty vektoritietokanta on muistissa. FAISS. Lisätietoja on kohdassa GitHub repo.
- Jos muistissa oleva FAISS ei mahdu suureen tietojoukkoon, tarjoamme sinulle a SageMaker KNN -algoritmi suorittaa semanttisen haun, joka myös käyttää FAISS:ia taustalla olevana hakualgoritmina. Katso lisätietoja GitHub repo.
Seuraava kaavio kuvaa ratkaisun arkkitehtuuria.
JumpStart RAG-pohjainen toteutusmuistikirja LangChainilla
LangChain on avoimen lähdekoodin kehys kielimalleilla toimivien sovellusten kehittämiseen. LangChain tarjoaa yleisen käyttöliittymän monille erilaisille LLM:ille. Se myös helpottaa kehittäjien ketjuttaa erilaisia LLM:itä yhteen ja rakentaa tehokkaita sovelluksia. LangChain tarjoaa vakiorajapinnan muistille ja kokoelman muistitoteutuksia tilan säilyttämiseksi agenttien tai ketjujen kutsujen välillä.
LangChainissa on monia muita apuominaisuuksia, jotka voivat lisätä kehittäjien tuottavuutta. Näitä ominaisuuksia ovat kehotemalli, joka auttaa mukauttamaan kehotteita käyttämällä kehotemallissa olevia muuttujia, agentit päästä päähän -sovellusten rakentamiseen, ketjun haku- ja hakuvaiheiden indeksit ja paljon muuta. Lisätietoja LangChainin ominaisuuksista on kohdassa LangChainin dokumentaatio.
Luo LLM-malli
Ota ensimmäisenä käyttöön valitsemasi JumpStart LLM -malli. Tässä esittelyssä käytämme Jumpstart Flan T5 XXL -mallin päätepistettä. Katso asennusohjeet kohdasta Zero-shot-kehotus Flan-T5-pohjamallille Amazon SageMaker JumpStartissa. Käyttötapauksesi perusteella voit ottaa käyttöön myös muita ohjeistettuja malleja, kuten Flan T5 UL2 or BloomZ 7B1. Katso lisätietoja esimerkki muistikirja.
Käytämme SageMaker LLM -päätepistettä LangChainin kanssa langchain.llms.sagemaker_endpoint.SagemakerEndpoint
, joka tiivistää SageMaker LLM -päätepisteen. Meidän on suoritettava muunnos pyynnön ja vastauksen hyötykuormalle seuraavan LangChain SageMaker -integraation koodin mukaisesti. Huomaa, että saatat joutua säätämään koodia ContentHandler
perustuu content_type
ja hyväksyy käyttämäsi LLM-mallin muodon.
Luo upotusmalli
Seuraavaksi meidän on saatava upotettu mallimme valmiiksi. Otamme käyttöön GPT-J 6B mallia upotusmallina. Jos käytät JumpStart-upotusmallia, sinun on mukautettava LangChain SageMaker -päätepisteiden upotusluokka ja muutettava mallin pyyntö ja vastaus integroidaksesi LangChainin kanssa. Katso yksityiskohtainen toteutus kohdasta GitHub repo.
Lataa toimialuekohtaisia asiakirjoja LangChain-asiakirjalatausohjelmalla ja luo hakemisto
Käytämme CSVLoader
paketti LangChainissa CSV-muotoisten asiakirjojen lataamiseksi asiakirjalatauslaitteeseen:
Seuraavaksi käytämme TextSplitteriä tietojen esikäsittelyyn upottamista varten ja käytämme SageMaker-upotusmallia GPT-J -6B upotuksen luomiseen. Tallennamme upotuksen FAISS-vektorisäilöön indeksin luomiseksi. Käytämme tätä hakemistoa löytääksemme asiaankuuluvia asiakirjoja, jotka ovat semanttisesti samanlaisia kuin käyttäjän kysely.
Seuraava koodi näyttää, kuinka kaikki nämä vaiheet suoritetaan VectorstoreIndexCreator
luokka vain muutamalla koodirivillä LangChainissa luodaksesi tiiviin toteutuksen kysymyksiin vastaamisesta RAG:n avulla:
Käytä hakemistoa etsimään relevanttia kontekstia ja siirtämään se LLM-malliin
Käytä seuraavaksi kyselymenetelmää luodussa hakemistossa ja välitä käyttäjän kysymys ja SageMaker-päätepiste LLM. LangChain valitsee neljä lähintä dokumenttia (K=4) ja välittää asiakirjoista poimitun kontekstin tarkan vastauksen luomiseksi. Katso seuraava koodi:
Saamme seuraavan vastauksen kyselyyn käyttämällä RAG-pohjaista lähestymistapaa Flan T5 XXL:n kanssa:
Vastaus näyttää tarkemmalta verrattuna vastaukseen, jonka saimme muilla aiemmin osoittamillamme lähestymistavoilla, joilla ei ole kontekstia tai staattista kontekstia, joka ei välttämättä ole aina relevantti.
Vaihtoehtoinen tapa toteuttaa RAG, jossa on enemmän mukautuksia SageMakerin ja LangChainin avulla
Tässä osiossa näytämme sinulle toisen lähestymistavan RAG:n toteuttamiseen SageMakerin ja LangChainin avulla. Tämä lähestymistapa tarjoaa joustavuuden määrittää tärkeimmät K-parametrit asiakirjojen osuvuushakua varten. Sen avulla voit myös käyttää LangChain-ominaisuutta kehotemalleja, joiden avulla voit helposti parametroida kehotteiden luomisen sen sijaan, että koodaat kehotteita.
Seuraavassa koodissa käytämme nimenomaisesti FAISS:ia upotuksen luomiseen jokaiselle tietokirjaston asiakirjalle SageMaker GPT-J-6B - upotusmallilla. Tämän jälkeen tunnistamme käyttäjän kyselyn perusteella K (K=3) tärkeimmät asiakirjat.
Seuraavaksi käytämme kehotemallia ja ketjutamme sen SageMaker LLM:n kanssa:
Lähetämme kolme parasta (K=3) oleellista asiakirjaa, jotka löysimme kontekstiksi kehotteeseen LangChain-ketjun avulla:
Tämän RAG-toteutustavan avulla pystyimme hyödyntämään LangChain-kehotemallien lisäjoustavuutta ja mukauttamaan haettujen asiakirjojen määrää vastaamaan osuvuutta käyttämällä ylintä K-hyperparametria.
JumpStart RAG-pohjainen toteutusmuistikirja SageMaker KNN:n kanssa
Tässä osiossa otamme käyttöön RAG-pohjaisen lähestymistavan käyttämällä KNN-algoritmia sopivien asiakirjojen etsimiseen parannetun kontekstin luomiseksi. Tässä lähestymistavassa emme käytä LangChainia, mutta käytämme samaa tietojoukkoa Amazon SageMakerin usein kysytyt kysymykset tietodokumenteiksi upottamalla mallit GPT-J-6B ja LLM Flan T5 XXL aivan kuten teimme edellisessä LangChain-lähestymistavassa.
Jos sinulla on suuri tietojoukko, SageMaker KNN -algoritmi voi tarjota sinulle tehokkaan semanttisen haun. SageMaker KNN -algoritmi käyttää myös FAISS:ia taustalla olevana hakualgoritmina. Tämän ratkaisun muistikirja löytyy osoitteesta GitHub.
Ensin otamme käyttöön LLM Flan T5 XXL ja GPT-J 6B upotusmallit samalla tavalla kuin edellisessä osiossa. Luomme jokaiselle tietokannan tietueelle upotusvektorin käyttämällä GPT-J-upotusmallia.
Seuraavaksi käytämme a SageMaker KNN koulutustyö tietotietojen upotuksen indeksoimiseksi. Tietojen indeksoinnin taustalla oleva algoritmi on FAISS. Haluamme löytää viisi tärkeintä asiakirjaa, joten asetamme TOP_K
muuttujasta 5. Luomme KNN-algoritmille estimaattorin, suoritamme koulutustyön ja otamme KNN-mallin käyttöön löytääksemme indeksit viidestä kyselyä vastaavasta suurimmasta asiakirjasta. Katso seuraava koodi:
Seuraavaksi luomme kyselyn upotusesityksen käyttämällä GPT-J-6B-upotusmallia, jota käytimme tietokirjaston asiakirjojen upotuksen luomiseen:
Sitten käytämme KNN-päätepistettä ja välitämme kyselyn upotuksen KNN-päätepisteeseen saadaksemme tärkeimmän K tärkeimmän asiakirjan indeksit. Käytämme indeksejä hakeaksemme vastaavat tekstidokumentit. Seuraavaksi ketjutamme asiakirjat varmistaen, että kontekstin suurinta sallittua pituutta ei ylitetä. Katso seuraava koodi:
Nyt tulemme viimeiseen vaiheeseemme, jossa yhdistämme kyselyn, kehotteen ja kontekstin, joka sisältää tekstiä asiaankuuluvista asiakirjoista ja välitämme sen tekstin sukupolven LLM Flan T5 XXL -malliin vastauksen luomiseksi.
Saamme seuraavan vastauksen kyselyyn käyttämällä RAG-pohjaista lähestymistapaa Flan T5 XXL:n kanssa:
Puhdistaa
Muista poistaa tähän muistikirjaan luomamme päätepisteet, kun et käytä niitä, jotta vältytään toistuvilta kustannuksilta.
Yhteenveto
Tässä viestissä osoitimme RAG-pohjaisen lähestymistavan toteutuksen LLM:ien kanssa kysymyksiin vastaamiseen käyttämällä kahta lähestymistapaa: LangChain ja sisäänrakennettu KNN-algoritmi. RAG-pohjainen lähestymistapa optimoi tekstin luomisen tarkkuuden Flan T5 XXL:n avulla tarjoamalla dynaamisesti relevantin kontekstin, joka on luotu hakemalla asiakirjaluettelosta.
Voit käyttää näitä muistikirjoja SageMakerissa sellaisenaan tai mukauttaa niitä tarpeidesi mukaan. Mukautaksesi voit käyttää omia dokumenttijoukkoasi tietokirjastossa, käyttää muita osuvuushakutoteutuksia, kuten OpenSearchia, ja muita JumpStartissa saatavilla olevia upotusmalleja ja tekstin luomisen LLM:itä.
Odotamme innolla, mitä rakennat JumpStartiin käyttämällä RAG-pohjaista lähestymistapaa!
Tietoja kirjoittajista
Tohtori Xin Huang on vanhempi soveltuva tutkija Amazon SageMaker JumpStart ja Amazon SageMaker sisäänrakennetuille algoritmeille. Hän keskittyy skaalautuvien koneoppimisalgoritmien kehittämiseen. Hänen tutkimusintressiään ovat luonnollisen kielen prosessointi, selitettävissä oleva syvä oppiminen taulukkotiedoista ja ei-parametrisen aika-avaruusklusteroinnin robusti analyysi. Hän on julkaissut monia artikkeleita ACL-, ICDM-, KDD-konferensseissa ja Royal Statistical Society: Series A.
Rachna Chadha on AWS:n strategisten tilien pääratkaisuarkkitehti AI/ML. Rachna on optimisti, joka uskoo, että tekoälyn eettinen ja vastuullinen käyttö voi parantaa yhteiskuntaa tulevaisuudessa ja tuoda taloudellista ja sosiaalista vaurautta. Vapaa-ajallaan Rachna viettää mielellään aikaa perheensä kanssa, vaeltaa ja kuuntelee musiikkia.
Tohtori Kyle Ulrich on soveltuva tutkija Amazon SageMakerin sisäänrakennetun algoritmiryhmän kanssa. Hänen tutkimusalueitaan ovat skaalautuvat koneoppimisalgoritmit, tietokonenäkö, aikasarjat, Bayesin ei-parametrit ja Gaussin prosessit. Hänen tohtorinsa on Duken yliopistosta ja hän on julkaissut artikkeleita NeurIPS-, Cell- ja Neuron-julkaisuissa.
Hemant Singh on koneoppimisinsinööri, jolla on kokemusta Amazon SageMaker JumpStart- ja Amazon SageMaker -algoritmeista. Hän sai maisterinsa Courant Institute of Mathematical Sciences -instituutista ja B.Techin IIT Delhistä. Hänellä oli kokemusta monien erilaisten koneoppimisongelmien käsittelystä luonnollisen kielen käsittelyn, tietokonenäön ja aikasarjaanalyysin alalla.
Manas Dadarkar on ohjelmistokehityspäällikkö, joka omistaa Amazon Forecast -palvelun suunnittelun. Hän suhtautuu intohimoisesti koneoppimisen sovelluksiin ja ML-teknologioiden tekemiseen helposti kaikkien saataville otettaviksi ja otettaviksi tuotantoon. Työn ulkopuolella hänellä on monia kiinnostuksen kohteita, kuten matkustaminen, lukeminen ja ajan viettäminen ystävien ja perheen kanssa.
Tohtori Ashish Khetan on vanhempi soveltuva tutkija, jolla on sisäänrakennetut Amazon SageMaker -algoritmit ja auttaa kehittämään koneoppimisalgoritmeja. Hän sai tohtorin tutkinnon Illinois Urbana-Champaignin yliopistosta. Hän on aktiivinen koneoppimisen ja tilastollisen päättelyn tutkija, ja hän on julkaissut monia artikkeleita NeurIPS-, ICML-, ICLR-, JMLR-, ACL- ja EMNLP-konferensseissa.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoAiStream. Web3 Data Intelligence. Tietoa laajennettu. Pääsy tästä.
- Tulevaisuuden lyöminen Adryenn Ashley. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/machine-learning/question-answering-using-retrieval-augmented-generation-with-foundation-models-in-amazon-sagemaker-jumpstart/
- :on
- :On
- :ei
- :missä
- $ YLÖS
- 1
- 10
- 100
- 11
- 12
- 13
- 26%
- 500
- 7
- 8
- 9
- a
- pystyy
- Meistä
- abstrakteja
- kiihdyttää
- hyväksyy
- Accessed
- Tilit
- tarkkuus
- tarkka
- aktiivinen
- lisätä
- lisä-
- lisää
- Lisäksi
- lisä-
- Lisää
- hyväksyä
- Etu
- etuja
- aineet
- AI
- AI / ML
- AL
- algoritmi
- algoritmit
- Kaikki
- mahdollistaa
- pitkin
- Myös
- aina
- Amazon
- Amazonin sääennuste
- Amazon Sage Maker
- Amazon SageMaker JumpStart
- määrät
- an
- analyysi
- ja
- Ilmoittaa
- Toinen
- vastaus
- vastauksia
- API
- Hakemus
- sovellukset
- sovellettu
- käyttää
- lähestymistapa
- lähestymistavat
- arkkitehtuuri
- OVAT
- ALUE
- artikkeli
- AS
- At
- täydennetty
- saatavuus
- saatavissa
- välttää
- AWS
- perustua
- Bayes
- BE
- koska
- uskoo
- Paremmin
- välillä
- Bot
- tuoda
- rakentaa
- sisäänrakennettu
- liiketoiminta
- mutta
- by
- nimeltään
- Puhelut
- CAN
- kyvyt
- tapaus
- tapauksissa
- ketju
- kahleet
- haaste
- Muutokset
- chatbot
- valinta
- Valita
- luokka
- klustereiden
- koodi
- Koodaus
- kokoelma
- yhdistää
- Tulla
- yritys
- vertailukelpoinen
- verrattuna
- valmistuminen
- tietokone
- Tietokoneen visio
- käsite
- käsitteellinen
- konferenssit
- rajoitteet
- sisältää
- tausta
- Keskustelu
- muuntaa
- muunnetaan
- korjata
- vastaava
- Hinta
- Covid-19
- luoda
- luotu
- Luominen
- luominen
- Tällä hetkellä
- räätälöinnin
- räätälöidä
- tiedot
- tietojenkäsittely
- tietokanta
- tietokannat
- syvä
- syvä oppiminen
- Delhi
- osoittaa
- osoittivat
- Riippuen
- sijoittaa
- käyttöön
- käyttöönotto
- kuvata
- yksityiskohtainen
- yksityiskohdat
- kehittää
- Kehittäjä
- kehittäjille
- kehittämällä
- Kehitys
- DID
- ero
- eri
- keskusteltiin
- useat
- asiakirja
- asiakirjat
- ei
- tekee
- verkkotunnuksen
- tehty
- Herttua
- herttua yliopisto
- dynaamisesti
- E&T
- kukin
- Aikaisemmin
- helpompaa
- helposti
- Tehokas
- upotettu
- upottamisen
- mahdollistaa
- päittäin
- päätepiste
- insinööri
- Tekniikka
- tehostettu
- varmistamalla
- yritys
- olennaisesti
- eettinen
- Jopa
- jokainen
- esimerkki
- ylitetty
- experience
- tutkia
- ulkoinen
- perhe
- Ominaisuus
- Ominaisuudet
- Fed
- harvat
- filee
- lopullinen
- Löytää
- löytäminen
- Etunimi
- sovittaa
- kiinteä
- Joustavuus
- virtaus
- keskittyy
- jälkeen
- varten
- Ennuste
- muoto
- Eteenpäin
- löytyi
- perusta
- neljä
- Puitteet
- tiheä
- usein
- ystäviä
- alkaen
- edelleen
- tulevaisuutta
- general
- tuottaa
- syntyy
- tuottaa
- sukupolvi
- saada
- tietty
- suuri
- HAD
- Kova
- Olla
- he
- terveys
- sairausvakuutus
- auttaa
- auttaa
- hänen
- Korkea
- hänen
- Osuma
- Miten
- Miten
- Kuitenkin
- HTML
- HTTPS
- Napa
- i
- tunnistettu
- tunnistaa
- if
- Illinois
- kuva
- Vaikutukset
- toteuttaa
- täytäntöönpano
- tuoda
- parantaa
- in
- sisältää
- Mukaan lukien
- indeksi
- indeksit
- tiedot
- esimerkki
- sen sijaan
- Instituutti
- ohjeet
- vakuutus
- yhdistää
- integraatio
- etu
- liitäntä
- tulee
- käyttöön
- IT
- SEN
- Job
- matka
- jpg
- json
- vain
- tuntemus
- Kieli
- suuri
- laaja
- suurempi
- uusin
- johtava
- oppiminen
- Pituus
- Kirjasto
- pitää
- tykkää
- rajoitus
- rajoitukset
- rajallinen
- rajat
- linjat
- Lista
- Kuunteleminen
- OTK
- kuormitus
- loader
- sijainnit
- katso
- näköinen
- ulkonäkö
- Matala
- kone
- koneoppiminen
- ylläpitää
- tehdä
- TEE
- Tekeminen
- onnistui
- johtaja
- monet
- markkinat
- ottelu
- matching
- matemaattinen
- maksimi
- Saattaa..
- Muisti
- menetelmä
- ML
- malli
- mallit
- lisää
- eniten
- paljon
- moninkertainen
- Musiikki
- Luonnollinen
- Luonnollinen kielen käsittely
- Tarve
- tarvitaan
- tarpeet
- seuraava
- Nro
- muistikirja
- nyt
- numero
- of
- Tarjoukset
- offline
- on
- vain
- avoimen lähdekoodin
- Optimismi
- or
- alkuperäinen
- Muut
- meidän
- ulostulo
- ulkopuolella
- yleinen
- oma
- paketti
- paperit
- parametrit
- osa
- erityinen
- kulkea
- Hyväksytty
- kulkee
- intohimoinen
- Suorittaa
- suunnitelmat
- Platon
- Platonin tietotieto
- PlatonData
- Suosittu
- Kirje
- powered
- voimakas
- Ennusteet
- Predictor
- edellinen
- Pääasiallinen
- Ongelma
- ongelmia
- Prosessit
- käsittely
- Tuotteet
- tuotanto
- tuottavuus
- hyvinvointi
- toimittaa
- mikäli
- tarjoaa
- tarjoamalla
- julkaistu
- tarkoituksiin
- kyselyt
- kysymys
- kysymykset
- nopeasti
- alue
- pikemminkin
- Lukeminen
- valmis
- todellinen
- ennätys
- heijastaa
- alueet
- merkityksellinen
- säilytyspaikka
- edustus
- pyyntö
- tutkimus
- tutkija
- vastaus
- vasteet
- vastuullinen
- tulokset
- palata
- luja
- kuninkaallinen
- säännöt
- ajaa
- sagemaker
- sama
- Säästöt
- skaalautuva
- skenaariot
- tiede
- tieteet
- Tiedemies
- Haku
- haku
- Osa
- osiot
- nähdä
- koska
- valittu
- SELF
- lähettää
- vanhempi
- Järjestys
- Sarjat
- Sarja A
- palvelu
- Palvelut
- setti
- shouldnt
- näyttää
- esitetty
- Näytä
- samankaltainen
- Koko
- So
- sosiaalinen
- yhteiskunta
- Tuotteemme
- ohjelmistokehitys
- ratkaisu
- SOLVE
- Lähteet
- Tila
- erityinen
- nopeus
- menot
- Kaupallinen
- standardi
- alkoi
- Osavaltio
- tilastollinen
- Vaihe
- Askeleet
- Yhä
- verkkokaupasta
- tallennettu
- Strateginen
- tilaukset
- niin
- toimittaa
- tuki
- Tuetut
- ottaa
- Tehtävä
- tehtävät
- joukkue-
- teknologia
- Technologies
- sapluuna
- malleja
- kuin
- että
- -
- Alue
- tiedot
- Valtion
- heidän
- Niitä
- sitten
- Siellä.
- siksi
- Nämä
- ne
- tätä
- kolmella
- aika
- Aikasarja
- että
- yhdessä
- ylin
- Juna
- koulutettu
- koulutus
- Muuttaa
- Muutos
- kokeillut
- kaksi
- taustalla oleva
- unique
- yliopisto
- ajanmukainen
- Päivitykset
- päivitetty
- Käyttö
- käyttää
- käyttölaukku
- käytetty
- käyttäjä
- Käyttäjät
- käyttämällä
- yleensä
- hyödyllisyys
- eri
- Virtual
- virtuaalikone
- visio
- haluta
- oli
- Tapa..
- tavalla
- we
- olivat
- Mitä
- kun
- joka
- vaikka
- KUKA
- wikipedia
- tulee
- with
- sisällä
- Referenssit
- työskentely
- olisi
- Voit
- Sinun
- zephyrnet