Generatív adatintelligencia

Beszéljen a csúszdával az Amazon Bedrockon tárolt multimodális alapmodellek segítségével – 2. rész | Amazon webszolgáltatások

Találka:

In rész 1 sorozatból egy olyan megoldást mutattunk be, amely a Amazon Titan multimodális beágyazások modell az egyes diák diadeckből való beágyazásokká alakításához. A beágyazásokat vektoros adatbázisban tároltuk, majd felhasználtuk a Nagy nyelvi és látási asszisztens (LLaVA 1.5-7b) modell szöveges válaszok generálásához a felhasználói kérdésekre a vektoradatbázisból lekért leghasonlóbb dia alapján. Használtuk az AWS szolgáltatásokat, beleértve Amazon alapkőzet, Amazon SageMakerés Amazon OpenSearch kiszolgáló nélküli ebben a megoldásban.

Ebben a bejegyzésben egy másik megközelítést mutatunk be. Használjuk a Antropikus Claude 3 szonett modellt, hogy szöveges leírásokat generáljon a diakészlet minden diájához. Ezek a leírások ezután szövegbeágyazásokká alakulnak a Amazon Titan szövegbeágyazások modellt, és vektoradatbázisban tároljuk. Ezután a Claude 3 Sonnet modellt használva választ generálunk a felhasználói kérdésekre a vektoros adatbázisból előhívott legrelevánsabb szöveges leírás alapján.

Mindkét megközelítést tesztelheti az adatkészlethez, és kiértékelheti az eredményeket, hogy megtudja, melyik megközelítés adja a legjobb eredményt. A sorozat 3. részében mindkét módszer eredményeit értékeljük.

Megoldás áttekintése

A megoldás implementációt biztosít a kérdések megválaszolására a diacsomag szövegében és vizuális elemeiben található információk felhasználásával. A tervezés a Retrieval Augmented Generation (RAG) koncepciójára támaszkodik. A RAG-t hagyományosan olyan szöveges adatokkal társították, amelyeket nagy nyelvi modellek (LLM) tudnak feldolgozni. Ebben a sorozatban a RAG-ot kiterjesztjük képekre is. Ez hatékony keresési lehetőséget biztosít a kontextus szempontjából releváns tartalom kinyeréséhez a vizuális elemekből, például táblázatokból és grafikonokból, valamint szöveget.

Ez a megoldás a következő összetevőket tartalmazza:

  • Az Amazon Titan Text Embeddings egy olyan szövegbeágyazási modell, amely a természetes nyelvű szöveget, beleértve az egyes szavakat, kifejezéseket vagy akár nagyméretű dokumentumokat is, numerikus reprezentációkká alakítja, amelyek felhasználhatók olyan használati esetekre, mint például a keresés, a személyre szabás és a szemantikai hasonlóságon alapuló klaszterezés.
  • A Claude 3 Sonnet az Anthropic legmodernebb modelljeinek következő generációja. A Sonnet egy sokoldalú eszköz, amely sokféle feladatot képes kezelni, az összetett érveléstől és elemzéstől a gyors kimenetekig, valamint hatékony keresést és visszakeresést biztosít hatalmas mennyiségű információban.
  • Az OpenSearch Serverless egy igény szerinti kiszolgáló nélküli konfiguráció az Amazon OpenSearch szolgáltatáshoz. Az OpenSearch Serverless-t vektoros adatbázisként használjuk az Amazon Titan Text Embeddings modell által generált beágyazások tárolására. Az OpenSearch Serverless gyűjteményben létrehozott index a RAG-megoldásunk vektortárolójaként szolgál.
  • Amazon OpenSearch feldolgozás (OSI) egy teljesen felügyelt, kiszolgáló nélküli adatgyűjtő, amely az OpenSearch szolgáltatási tartományokba és az OpenSearch szerver nélküli gyűjteményekbe szállít adatokat. Ebben a bejegyzésben egy OSI pipeline API-t használunk az adatok eljuttatására az OpenSearch Serverless vektortárolóba.

A megoldás kialakítása két részből áll: bevitelből és felhasználói interakcióból. A feldolgozás során a bemeneti diakészletet úgy dolgozzuk fel, hogy minden diát képpé alakítunk, leírásokat és szöveges beágyazásokat generálunk az egyes képekhez. Ezután feltöltjük a vektoros adattárat az egyes diák beágyazásaival és szöveges leírásával. Ezeket a lépéseket a felhasználói interakciós lépések előtt kell végrehajtani.

A felhasználói interakció fázisában a felhasználó egy kérdése szövegbeágyazásokká alakul. Hasonlósági keresés fut a vektoros adatbázisban, hogy megtalálja a diának megfelelő szöveges leírást, amely potenciálisan választ tartalmazhat a felhasználói kérdésre. Ezután megadjuk a dia leírását és a felhasználói kérdést a Claude 3 Sonnet modellnek, hogy választ generáljunk a lekérdezésre. A bejegyzéshez tartozó összes kód elérhető a GitHub pihenés.

A következő diagram a feldolgozási architektúrát mutatja be.

A munkafolyamat a következő lépésekből áll:

  1. A diák képfájlokká konvertálja (diánként egyet) JPG formátumban, és átadja a Claude 3 Sonnet modellnek a szöveges leírás létrehozásához.
  2. Az adatokat a rendszer az Amazon Titan Text Embeddings modellbe küldi a beágyazások létrehozásához. Ebben a sorozatban a slide decket használjuk A Stable Diffusion betanítása és telepítése az AWS Trainium és az AWS Inferentia segítségével a 2023. júniusi torontói AWS-csúcstalálkozóról a megoldás bemutatására. A mintacsomag 31 diát tartalmaz, ezért 31 vektorbeágyazási készletet generálunk, mindegyik 1536 dimenzióval. További metaadatmezőket adunk hozzá, hogy részletes keresési lekérdezéseket hajtsunk végre az OpenSearch hatékony keresési funkcióinak használatával.
  3. A beágyazások egy API-hívás segítségével bekerülnek egy OSI-folyamatba.
  4. Az OSI folyamat az adatokat dokumentumként egy OpenSearch Serverless indexbe tölti be. Az index ennek a folyamatnak a nyelőjeként van konfigurálva, és az OpenSearch Serverless gyűjtemény részeként jön létre.

A következő diagram a felhasználói interakciós architektúrát mutatja be.

A munkafolyamat a következő lépésekből áll:

  1. Egy felhasználó kérdést tesz fel a felvett diakészlettel kapcsolatban.
  2. A felhasználói bevitel az Amazon Bedrock segítségével elérhető Amazon Titan Text Embeddings modell segítségével beágyazásokká konvertálódik. Az OpenSearch szolgáltatás vektorkeresése ezekkel a beágyazásokkal történik. A k-közelebbi szomszéd (k-NN) keresést végrehajtjuk a felhasználói lekérdezésnek megfelelő legrelevánsabb beágyazások lekéréséhez.
  3. Az OpenSearch Serverless válaszának metaadatai tartalmazzák a kép elérési útját és a legrelevánsabb diának megfelelő leírást.
  4. A felhasználói kérdés és a képleírás kombinálásával prompt jön létre. A prompt az Amazon Bedrockon tárolt Claude 3 Sonnet számára érhető el.
  5. Ennek a következtetésnek az eredménye visszakerül a felhasználóhoz.

A következő szakaszokban mindkét szakasz lépéseit tárgyaljuk, és a kimenet részleteit is tartalmazza.

Előfeltételek

Az ebben a bejegyzésben található megoldás megvalósításához rendelkeznie kell egy AWS-fiók valamint az FM-ek, az Amazon Bedrock, a SageMaker és az OpenSearch Service ismerete.

Ez a megoldás az Amazon Bedrock-on tárolt Claude 3 Sonnet és Amazon Titan Text Embeddings modelleket használja. Győződjön meg arról, hogy ezek a modellek engedélyezve vannak a használathoz. Ehhez navigáljon a Modell hozzáférés oldalon az Amazon Bedrock konzolon.

Ha a modellek engedélyezve vannak, a Hozzáférés állapota kijelenti majd Hozzáférés biztosított.

Ha a modellek nem állnak rendelkezésre, engedélyezze a hozzáférést a kiválasztással Modellhozzáférés kezelése, a modellek kiválasztása és a választás Kérjen hozzáférést a modellhez. A modellek azonnal használhatók.

Használja az AWS CloudFormation szolgáltatást a megoldásverem létrehozásához

Az AWS CloudFormation segítségével létrehozhatja a megoldásveremet. Ha az 1. rész megoldását ugyanabban az AWS-fiókban hozta létre, a verem létrehozása előtt feltétlenül törölje azt.

AWS régió Link
us-east-1
us-west-2

A verem sikeres létrehozása után navigáljon a verem Kimenetek lapjára az AWS CloudFormation konzolon, és jegyezze fel a MultimodalCollectionEndpoint és a OpenSearchPipelineEndpoint. Ezeket használja a következő lépésekben.

A CloudFormation sablon a következő erőforrásokat hozza létre:

  • IAM szerepek - A következő AWS Identity and Access Management (IAM) szerepkörök jönnek létre. Frissítse ezeket a szerepköröket a legalacsonyabb jogosultságok használatához, ahogyan azt itt tárgyaltuk Biztonsági bevált gyakorlatok.
    • SMExecutionRole val vel Amazon egyszerű tárolási szolgáltatás (Amazon S3), SageMaker, OpenSearch Service és Amazon Bedrock teljes hozzáférés.
    • OSPipelineExecutionRole hozzáféréssel az S3 vödörhöz és az OSI műveletekhez.
  • SageMaker notebook – A bejegyzéshez tartozó összes kód ezzel a jegyzetfüzettel fut.
  • OpenSearch szerver nélküli gyűjtemény – Ez a vektoradatbázis a beágyazások tárolására és lekérésére.
  • OSI csővezeték – Ez a folyamat az adatok OpenSearch Serverlessbe történő beviteléhez.
  • S3 vödör – A bejegyzéshez tartozó összes adat ebben a tárolóban van tárolva.

A CloudFormation-sablon beállítja az OSI-folyamat konfigurálásához szükséges folyamatkonfigurációt a HTTP-vel forrásként és az OpenSearch Serverless indexel fogadóként. A SageMaker notebook 2_data_ingestion.ipynb megmutatja, hogyan lehet adatokat feldolgozni a folyamatban a kérések HTTP könyvtár.

A CloudFormation sablon is létrehozza hálózat, titkosítás és a adat hozzáférés az OpenSearch Serverless gyűjteményéhez szükséges szabályzatok. Frissítse ezeket a házirendeket a legkevesebb jogosultság használatához.

A CloudFormation sablon nevére és az OpenSearch Service index nevére hivatkozik a SageMaker jegyzetfüzet 3_rag_inference.ipynb. Ha módosítja az alapértelmezett neveket, feltétlenül frissítse azokat a jegyzetfüzetben.

Tesztelje az oldatot

A CloudFormation verem létrehozása után tesztelheti a megoldást. Hajtsa végre a következő lépéseket:

  1. A SageMaker konzolon válassza a lehetőséget notebookok a navigációs ablaktáblában.
  2. választ MultimodalNotebookInstance És válasszon Nyissa meg a JupyterLabot.
  3. In File Browser, lépjen a notebookok mappába a jegyzetfüzetek és a támogató fájlok megtekintéséhez.

A jegyzetfüzetek a futási sorrendben vannak számozva. Az egyes jegyzetfüzetekben található utasítások és megjegyzések leírják az adott jegyzetfüzet által végrehajtott műveleteket. Ezeket a füzeteket egyenként futtatjuk.

  1. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a 1_data_prep.ipynb hogy nyissa meg a JupyterLabban.
  2. A futás menüben válasszon Futtassa az összes cellát a kód futtatásához ebben a notebookban.

Ez a jegyzetfüzet letölt egy nyilvánosan elérhetőt csúszdafedélzet, minden diákat konvertáljon JPG fájlformátumba, és töltse fel ezeket az S3 tárolóba.

  1. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a 2_data_ingestion.ipynb hogy nyissa meg a JupyterLabban.
  2. A futás menüben válasszon Futtassa az összes cellát a kód futtatásához ebben a notebookban.

Ebben a jegyzetfüzetben létrehoz egy indexet az OpenSearch Serverless gyűjteményben. Ez az index a diacsomag beágyazási adatait tárolja. Lásd a következő kódot:

session = boto3.Session()
credentials = session.get_credentials()
auth = AWSV4SignerAuth(credentials, g.AWS_REGION, g.OS_SERVICE)

os_client = OpenSearch(
  hosts = [{'host': host, 'port': 443}],
  http_auth = auth,
  use_ssl = True,
  verify_certs = True,
  connection_class = RequestsHttpConnection,
  pool_maxsize = 20
)

index_body = """
{
  "settings": {
    "index.knn": true
  },
  "mappings": {
    "properties": {
      "vector_embedding": {
        "type": "knn_vector",
        "dimension": 1536,
        "method": {
          "name": "hnsw",
          "engine": "nmslib",
          "parameters": {}
        }
      },
      "image_path": {
        "type": "text"
      },
      "slide_text": {
        "type": "text"
      },
      "slide_number": {
        "type": "text"
      },
      "metadata": { 
        "properties" :
          {
            "filename" : {
              "type" : "text"
            },
            "desc":{
              "type": "text"
            }
          }
      }
    }
  }
}
"""
index_body = json.loads(index_body)
try:
  response = os_client.indices.create(index_name, body=index_body)
  logger.info(f"response received for the create index -> {response}")
except Exception as e:
  logger.error(f"error in creating index={index_name}, exception={e}")

A Claude 3 Sonnet és az Amazon Titan Text Embeddings modellek segítségével az előző notebookban létrehozott JPG-képeket vektoros beágyazásokká alakíthatja. Ezek a beágyazások és további metaadatok (például az S3 elérési út és a képfájl leírása) a beágyazásokkal együtt az indexben tárolódnak. A következő kódrészlet bemutatja, hogy a Claude 3 Sonnet hogyan generál képleírásokat:

def get_img_desc(image_file_path: str, prompt: str):
    # read the file, MAX image size supported is 2048 * 2048 pixels
    with open(image_file_path, "rb") as image_file:
        input_image_b64 = image_file.read().decode('utf-8')
  
    body = json.dumps(
        {
            "anthropic_version": "bedrock-2023-05-31",
            "max_tokens": 1000,
            "messages": [
                {
                    "role": "user",
                    "content": [
                        {
                            "type": "image",
                            "source": {
                                "type": "base64",
                                "media_type": "image/jpeg",
                                "data": input_image_b64
                            },
                        },
                        {"type": "text", "text": prompt},
                    ],
                }
            ],
        }
    )
    
    response = bedrock.invoke_model(
        modelId=g.CLAUDE_MODEL_ID,
        body=body
    )

    resp_body = json.loads(response['body'].read().decode("utf-8"))
    resp_text = resp_body['content'][0]['text'].replace('"', "'")

    return resp_text

A képleírásokat átadja az Amazon Titan Text Embeddings modellnek a vektoros beágyazások létrehozásához. Ezek a beágyazások és további metaadatok (például az S3 elérési út és a képfájl leírása) a beágyazásokkal együtt az indexben tárolódnak. A következő kódrészlet az Amazon Titan Text Embeddings modell hívását mutatja:

def get_text_embedding(bedrock: botocore.client, prompt_data: str) -> np.ndarray:
    body = json.dumps({
        "inputText": prompt_data,
    })    
    try:
        response = bedrock.invoke_model(
            body=body, modelId=g.TITAN_MODEL_ID, accept=g.ACCEPT_ENCODING, contentType=g.CONTENT_ENCODING
        )
        response_body = json.loads(response['body'].read())
        embedding = response_body.get('embedding')
    except Exception as e:
        logger.error(f"exception={e}")
        embedding = None

    return embedding

Az adatok az OpenSearch Serverless indexbe kerülnek az OSI-folyamat API-hívásával. A következő kódrészlet a Requests HTTP könyvtár használatával indított hívást mutatja:

data = json.dumps([{
    "image_path": input_image_s3, 
    "slide_text": resp_text, 
    "slide_number": slide_number, 
    "metadata": {
        "filename": obj_name, 
        "desc": "" 
    }, 
    "vector_embedding": embedding
}])

r = requests.request(
    method='POST', 
    url=osi_endpoint, 
    data=data,
    auth=AWSSigV4('osis'))

  1. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a 3_rag_inference.ipynb hogy nyissa meg a JupyterLabban.
  2. A futás menüben válasszon Futtassa az összes cellát a kód futtatásához ebben a notebookban.

Ez a notebook a RAG megoldást valósítja meg: a felhasználói kérdést beágyazásokká alakítja, hasonló képleírást talál a vektoros adatbázisból, és a letöltött leírást elküldi a Claude 3 Sonnetnek, hogy választ generáljon a felhasználói kérdésre. A következő prompt sablont használja:

  llm_prompt: str = """

  Human: Use the summary to provide a concise answer to the question to the best of your abilities. If you cannot answer the question from the context then say I do not know, do not make up an answer.
  <question>
  {question}
  </question>

  <summary>
  {summary}
  </summary>

  Assistant:"""

A következő kódrészlet biztosítja a RAG munkafolyamatot:

def get_llm_response(bedrock: botocore.client, question: str, summary: str) -> str:
    prompt = llm_prompt.format(question=question, summary=summary)
    
    body = json.dumps(
    {
        "anthropic_version": "bedrock-2023-05-31",
        "max_tokens": 1000,
        "messages": [
            {
                "role": "user",
                "content": [
                    {"type": "text", "text": prompt},
                ],
            }
        ],
    })
        
    try:
        response = bedrock.invoke_model(
        modelId=g.CLAUDE_MODEL_ID,
        body=body)

        response_body = json.loads(response['body'].read().decode("utf-8"))
        llm_response = response_body['content'][0]['text'].replace('"', "'")
        
    except Exception as e:
        logger.error(f"exception while slide_text={summary[:10]}, exception={e}")
        llm_response = None

    return llm_response


# create prompt and convert to embeddings question: str = "How does Inf2 compare in performance to comparable EC2 instances? I need numbers." text_embedding = get_text_embedding(bedrock, question) # vector db search vector_db_response: Dict = find_similar_data(text_embeddings) # download image for local notebook display s3_img_path = vector_db_response.get('hits', {}).get('hits')[0].get('_source').get('image_path') logger.info(f"going to answer the question="{question}" using the image "{s3_img_path}"") !aws s3 cp {s3_img_path} . local_img_path = os.path.basename(s3_img_path) display(filename=local_img_path) # Ask Claude 3 Sonnet slide_text = vector_db_response.get('hits', {}).get('hits')[0].get('_source').get('slide_text') llm_response = get_llm_response(bedrock, question, slide_text) print(llm_response)

Eredmények

Az alábbi táblázat néhány felhasználói kérdést és válaszokat tartalmaz, amelyeket a megvalósításunk generált. A Kérdés oszlop rögzíti a felhasználói kérdést, és a Válasz oszlop a Claude 3 Sonnet által generált szöveges válasz. A Kép oszlopban az OpenSearch Serverless vektorkeresés által visszaadott k-NN diaegyezés látható.

Multimodális RAG eredmények

Kérdés Válasz Kép
Hogyan viszonyul az Inf2 teljesítménye a hasonló EC2-példányokhoz? Számokra van szükségem. Az összefoglalóban közölt információk alapján az Amazon EC2 Inf2 példányokhoz más példányokhoz képest megadott kulcsfontosságú teljesítmény-összehasonlítási számok a következők: 1. Akár 4-szer nagyobb átviteli sebesség. 2. Akár 10-szer kisebb késleltetés. Az összefoglaló nem ad konkrét számokat az Inf2-példányok más EC2-példánytípusokkal való összehasonlítására. Azonban kiemeli az átviteli sebesség és a késleltetés javítását, mint az Inf2-példányok fő teljesítménybeli előnyeit a generatív mesterségesintelligencia-modellek futtatásához használt hasonló példányokkal szemben.
Az AI/ML lendkerék szerint mit nyújtanak az AWS AI/ML szolgáltatások? Az összefoglaló alapján az AWS AI/ML szolgáltatások egy sor olyan képességet biztosítanak, amelyek táplálják az AI/ML lendkereket. Ez a lendkerék az új és jobb algoritmusok kifejlesztésében való innovációból áll, amely több felhasználási esetet és alkalmazást tesz lehetővé, szélesebb körű elterjedtséget és keresletet generál, ami viszont további kutatási és optimalizálási befektetésekhez vezet az innováció ösztönzésére. Úgy tűnik, hogy az AWS AI/ML szolgáltatások kínálják azokat az eszközöket, erőforrásokat és infrastruktúrát, amelyek támogatják ezt a folyamatos innovációs, alkalmazásfejlesztési, átvételi és újrabefektetési ciklust a mesterséges intelligencia és a gépi tanulás területén.
A GPT-2-höz képest mennyivel több paramétere van a GPT-3-nak? Mi a számszerű különbség a GPT-2 és a GPT-3 paramétermérete között? Az összefoglalóban közölt információk szerint a 3-as GPT-2020 175B (175 milliárd), míg a 2-es GPT-2019 1.5B (1.5 milliárd) paraméterrel rendelkezett. Ezért a GPT-2 és a GPT-3 paramétermérete közötti számbeli különbség 173.5 milliárd paraméter. A GPT-3 körülbelül 115-ször több paraméterrel rendelkezik, mint a GPT-2.
Mik a kvarkok a részecskefizikában? Sajnos az adott összefoglaló nem tartalmaz információt a részecskefizikai kvarkokról. Az összefoglaló a természetes nyelvi feldolgozás és a generatív mesterséges intelligencia technológiák fejlődéséhez kapcsolódó képet ír le, de nem tesz említést sem a részecskefizikáról, sem a kvarkok fogalmáról.

Kérd le az indexedet

Az OpenSearch irányítópultok segítségével interakcióba léphet az OpenSearch API-val, és gyorsteszteket futtathat az indexen és a feldolgozott adatokon.

Razzia

A jövőbeni költségek elkerülése érdekében törölje az erőforrásokat. Ezt a verem törlésével teheti meg az AWS CloudFormation konzol segítségével.

Következtetés

A vállalatok folyamatosan új tartalmat hoznak létre, és a slide deckek gyakori módja az információk megosztásának és terjesztésének a szervezeten belül, illetve kívülről az ügyfelekkel vagy konferenciákon. Idővel a gazdag információ eltemetve és rejtve maradhat a nem szöveges modalitásokban, például grafikonokban és táblázatokban ezekben a diacsomagokban.

Használhatja ezt a megoldást és a multimodális FM-ek, például az Amazon Titan Text Embeddings és a Claude 3 Sonnet erejét, hogy új információkat fedezzen fel, vagy új perspektívákat tárjon fel a tartalommal kapcsolatban a slide deckekben. Kipróbálhatja az Amazon Bedrock-on elérhető különböző Claude modelleket, ha frissíti a CLAUDE_MODEL_ID a globals.py fájlt.

Ez egy háromrészes sorozat 2. része. Az 1. részben az Amazon Titan Multimodal Embeddings és az LLaVA modellt használtuk. A 3. részben az 1. és a 2. rész megközelítéseit fogjuk összehasonlítani.

Ennek a kódnak egyes részei a Apache 2.0 licenc.


A szerzőkről

Amit Arora az Amazon Web Services mesterséges intelligencia és ML specialistája, aki segít a vállalati ügyfeleknek felhőalapú gépi tanulási szolgáltatások használatában innovációik gyors skálázásához. Emellett adjunktus az MS adattudományi és analitikai programban a Washington DC-i Georgetown Egyetemen.

Manju Prasad az Amazon Web Services vezető megoldási építésze. Arra összpontosít, hogy műszaki útmutatást nyújtson számos műszaki területen, beleértve az AI/ML-t is. Mielőtt csatlakozott volna az AWS-hez, megoldásokat tervezett és épített a pénzügyi szolgáltatási szektorban tevékenykedő vállalatok és egy startup számára is. Szenvedélye a tudás megosztása és a feltörekvő tehetségek iránti érdeklődés felkeltése.

Archana Inapudi az AWS vezető megoldástervezője, aki egy stratégiai ügyfelet támogat. Több mint egy évtizedes ágazatközi szakértelemmel rendelkezik, amely stratégiai technikai kezdeményezéseket vezet. Archana az AWS AI/ML műszaki terület közösségének törekvő tagja. Mielőtt csatlakozott volna az AWS-hez, az Archana egy egészségügyi cégnél a hagyományos, zárt adatforrásokról a Hadoop felé való migrációt vezetett. Szenvedélyesen használja a technológiát a növekedés felgyorsítása, az ügyfelek számára való érték biztosítása és az üzleti eredmények elérése érdekében.

Antara Raisa az Amazon Web Services mesterséges intelligenciával és ML megoldásokkal foglalkozó építésze, aki a texasi Dallasból származó stratégiai ügyfeleket támogatja. Korábbi tapasztalata is van nagyvállalati partnerekkel az AWS-nél, ahol Partner Success Solutions Architectként dolgozott digitális központú ügyfelek számára.

spot_img

Legújabb intelligencia

spot_img