Võimsa närviotsing AI/ML-pistikutega Amazon OpenSearch Service'is | Amazoni veebiteenused

Võimsa närviotsing AI/ML-pistikutega Amazon OpenSearch Service'is | Amazoni veebiteenused

Allikasõlm: 3068091

Neuraalse otsingu funktsiooni käivitamisega Amazon OpenSearchi teenus OpenSearch 2.9-s on nüüd lihtne integreerida AI/ML-mudelitega, et võimaldada semantilist otsingut ja muid kasutusjuhtumeid. OpenSearch Service on toetanud nii leksikaal- kui ka vektorotsingut alates selle k-lähima naabri (k-NN) funktsiooni kasutuselevõtust 2020. aastal; semantilise otsingu konfigureerimine nõudis aga raamistiku loomist masinõppe (ML) mudelite integreerimiseks sissevõtmiseks ja otsimiseks. Närviotsingu funktsioon hõlbustab tekstist vektoriks teisendamist allaneelamise ja otsingu ajal. Kui kasutate otsingu ajal närvipäringut, tõlgitakse päring vektori manustamiseks ja k-NN kasutatakse korpusest lähimate vektormanustuste tagastamiseks.

Närviotsingu kasutamiseks peate seadistama ML-mudeli. Soovitame konfigureerida AI/ML-pistikud AWS-i AI- ja ML-teenustele (nt Amazon SageMaker or Amazonase aluspõhi) või kolmanda osapoole alternatiive. Alates OpenSearch Service'i versioonist 2.9 integreeruvad AI/ML-konnektorid närviotsinguga, et lihtsustada ja teostada teie andmekorpuse ja päringute tõlkimist vektori manusteks, kõrvaldades seeläbi suure osa vektori hüdratatsiooni ja otsingu keerukusest.

Selles postituses näitame, kuidas konfigureerida AI/ML-pistikuid välistele mudelitele OpenSearch Service'i konsooli kaudu.

Lahenduse ülevaade

Täpsemalt, see postitus juhendab teid SageMakeri mudeliga ühenduse loomisel. Seejärel juhendame teid konnektori kasutamisel OpenSearch Service'is semantilise otsingu konfigureerimiseks näitena kasutusjuhtumist, mida toetab ühendus ML-mudeliga. Amazon Bedrocki ja SageMakeri integratsioone toetatakse praegu OpenSearch Service'i konsooli kasutajaliideses ning kasutajaliidese toetatud esimese ja kolmanda osapoole integratsioonide loend kasvab jätkuvalt.

Kõikide mudelite puhul, mida kasutajaliides ei toeta, saate selle asemel seadistada saadaolevate API-de ja ML joonised. Lisateabe saamiseks vaadake Sissejuhatus OpenSearchi mudelitesse. Iga pistiku joonised leiate jaotisest ML Commonsi GitHubi hoidla.

Eeldused

Enne mudeli ühendamist OpenSearch Service'i konsooli kaudu looge OpenSearch Service'i domeen. Kaart an AWS-i identiteedi- ja juurdepääsuhaldus (IAM) rolli nime järgi LambdaInvokeOpenSearchMLCommonsRole taustarollina ml_full_access rolli, kasutades OpenSearchi juhtpaneelide turbepluginat, nagu on näidatud järgmises videos. OpenSearch Service'i integreerimise töövoog on eeltäidetud, et kasutada LambdaInvokeOpenSearchMLCommonsRole Vaikimisi IAM-i roll, et luua konnektori OpenSearch Service'i domeeni ja SageMakeris juurutatud mudeli vahel. Kui kasutate OpenSearch Service'i konsooli integratsioonides kohandatud IAM-rolli, veenduge, et kohandatud roll oleks kaardistatud taustarollina ml_full_access õigused enne malli juurutamist.

Juurutage mudel AWS CloudFormationi abil

Järgmises videos näidatakse samme, kuidas OpenSearch Service'i konsooli kasutada mudeli juurutamiseks mõne minuti jooksul Amazon SageMakeris ja mudeli ID genereerimiseks tehisintellekti pistikute kaudu. Esimene samm on valida Integrations OpenSearch Service AWS-i konsooli navigeerimispaanil, mis suunab saadaolevate integratsioonide loendisse. Integreerimine seadistatakse kasutajaliidese kaudu, mis palub teil sisestada vajalikud sisendid.

Integratsiooni seadistamiseks peate esitama ainult OpenSearch Service'i domeeni lõpp-punkti ja mudelinime, et mudeliühendust üheselt tuvastada. Vaikimisi juurutab mall Hugging Face lausemuundurite mudeli, djl://ai.djl.huggingface.pytorch/sentence-transformers/all-MiniLM-L6-v2.

Kui valite Loo virn, suunatakse teid aadressile AWS CloudFormation konsool. CloudFormationi mall juurutab järgmisel diagrammil üksikasjalikult kirjeldatud arhitektuuri.

CloudFormationi virn loob AWS Lambda rakendus, mis juurutab mudeli Amazoni lihtne salvestusteenus (Amazon S3), loob pistiku ja genereerib väljundis mudeli ID. Seejärel saate seda mudeli ID-d kasutada semantilise indeksi loomiseks.

Kui vaikemudel All-MiniLM-L6-v2 ei täida teie eesmärki, saate valitud mudelihostis (SageMaker või Amazon Bedrock) juurutada mis tahes enda valitud teksti manustamismudeli, esitades oma mudeli artefaktid juurdepääsetava S3 objektina. Teise võimalusena saate valida ühe järgmistest eelkoolitatud keelemudelid ja juurutage see SageMakerisse. Lõpp-punkti ja mudelite seadistamise juhised leiate aadressilt Saadaval olevad Amazon SageMakeri pildid.

SageMaker on täielikult hallatav teenus, mis koondab suure hulga tööriistu, et võimaldada suure jõudlusega ja odavat ML-i mis tahes kasutusjuhtumiks, pakkudes olulisi eeliseid, nagu mudeli jälgimine, serverita hostimine ja töövoo automatiseerimine pidevaks koolituseks ja juurutamiseks. SageMaker võimaldab teil hostida ja hallata teksti manustamismudelite elutsüklit ning kasutada neid semantiliste otsingupäringute käivitamiseks OpenSearch Service'is. Kui olete ühendatud, hostib SageMaker teie mudeleid ja OpenSearch Service'i kasutatakse päringute tegemiseks SageMakeri järeldustulemuste põhjal.

Vaadake juurutatud mudelit OpenSearchi juhtpaneelide kaudu

Et kontrollida, kas CloudFormationi mall on OpenSearch Service'i domeenil mudeli edukalt juurutanud, ja hankida mudeli ID, saate OpenSearch Dashboards Dev Toolsi kaudu kasutada ML Commonsi REST GET API-t.

GET _plugins REST API pakub nüüd täiendavaid API-sid, et vaadata ka mudeli olekut. Järgmine käsk võimaldab teil näha kaugmudeli olekut:

GET _plugins/_ml/models/<modelid>

Nagu on näidatud järgmisel ekraanipildil, a DEPLOYED vastuse olek näitab, et mudel on OpenSearch Service'i klastris edukalt juurutatud.

Teise võimalusena saate oma OpenSearch Service'i domeenile juurutatud mudelit vaadata, kasutades Masinõpe OpenSearchi juhtpaneelide leht.

Sellel lehel on loetletud mudeliteave ja kõigi juurutatud mudelite olekud.

Looge närvikonveier mudeli ID abil

Kui mudeli olek kuvatakse kas DEPLOYED Dev Toolsis või rohelises ja Vastamine OpenSearchi armatuurlaudades saate mudeli ID-d kasutada oma neuraalse sisestuskonveieri koostamiseks. Teie domeeni OpenSearch Dashboards Dev Toolsis käitatakse järgmist sisestuskonveieri. Asendage mudeli ID kindlasti teie domeenis juurutatud mudeli jaoks loodud kordumatu ID-ga.

PUT _ingest/pipeline/neural-pipeline
{
  "description": "Semantic Search for retail product catalog ",
  "processors" : [
    {
      "text_embedding": {
        "model_id": "sfG4zosBIsICJFsINo3X",
        "field_map": {
           "description": "desc_v",
           "name": "name_v"
        }
      }
    }
  ]
}

Loo semantiline otsinguindeks, kasutades vaikekonveierina närvikonveieri

Nüüd saate määratleda indeksi vastendamise vaikekonveieriga, mis on konfigureeritud kasutama eelmises etapis loodud uut närvikonveieri. Veenduge, et vektorväljad on deklareeritud kujul knn_vector ja mõõtmed vastavad SageMakeris juurutatud mudelile. Kui olete SageMakeris mudeli all-MiniLM-L6-v2 juurutamiseks säilitanud vaikekonfiguratsiooni, jätke järgmised sätted endiseks ja käivitage käsk Dev Toolsis.

PUT semantic_demostore
{
  "settings": {
    "index.knn": true,  
    "default_pipeline": "neural-pipeline",
    "number_of_shards": 1,
    "number_of_replicas": 1
  },
  "mappings": {
    "properties": {
      "desc_v": {
        "type": "knn_vector",
        "dimension": 384,
        "method": {
          "name": "hnsw",
          "engine": "nmslib",
          "space_type": "cosinesimil"
        }
      },
      "name_v": {
        "type": "knn_vector",
        "dimension": 384,
        "method": {
          "name": "hnsw",
          "engine": "nmslib",
          "space_type": "cosinesimil"
        }
      },
      "description": {
        "type": "text" 
      },
      "name": {
        "type": "text" 
      } 
    }
  }
}

Sisestage vektorite loomiseks näidisdokumendid

Selle demo jaoks saate alla laadida jaemüügi demopoe tootekataloogi näidis uuele semantic_demostore indeks. Asendage kasutajanimi, parool ja domeeni lõpp-punkt oma domeeni teabega ja sisestage toorandmed OpenSearch Service'i:

curl -XPOST -u 'username:password' 'https://domain-end-point/_bulk' --data-binary @semantic_demostore.json -H 'Content-Type: application/json'

Kinnitage uus semantic_demostore indeks

Nüüd, kui olete oma andmestiku OpenSearch Service'i domeeni sisestanud, kontrollige kõigi väljade toomiseks lihtsa otsingu abil, kas vajalikud vektorid on loodud. Kontrollige, kas väljad on määratletud kui knn_vectors omama vajalikke vektoreid.

Võrrelge leksikaalotsingut ja semantilist otsingut, mis põhineb närviotsingul, kasutades tööriista Võrdle otsingutulemusi

. Otsingutulemuste võrdlemise tööriist OpenSearchi juhtpaneelidel on saadaval tootmistöökoormuste jaoks. Saate navigeerida aadressile Võrrelge otsingutulemusi lehel ja võrrelda päringutulemusi leksikaalse otsingu ja närviotsingu vahel, mis on konfigureeritud kasutama varem loodud mudeli ID-d.

Koristage

Saate kustutada loodud ressursid, järgides selle postituse juhiseid, kustutades CloudFormationi virna. See kustutab Lambda ressursid ja S3 ämbri, mis sisaldavad SageMakerisse juurutatud mudelit. Tehke järgmised sammud.

  1. Navigeerige AWS CloudFormationi konsoolis oma virna üksikasjade lehele.
  2. Vali kustutama.

  1. Vali kustutama kinnitada.

Virna kustutamise edenemist saate jälgida AWS CloudFormationi konsoolil.

Pange tähele, et CloudFormationi virna kustutamine ei kustuta SageMakeri domeenis juurutatud mudelit ega loodud AI/ML-konnektorit. Seda seetõttu, et neid mudeleid ja konnektorit saab siduda domeenis mitme indeksiga. Mudeli ja sellega seotud konnektori konkreetseks kustutamiseks kasutage mudeli API-sid, nagu on näidatud järgmistel ekraanipiltidel.

Esiteks undeploy mudel OpenSearch Service'i domeenimälust:

POST /_plugins/_ml/models/<model_id>/_undeploy

Seejärel saate mudeli mudeliindeksist kustutada:

DELETE /_plugins/_ml/models/<model_id>

Lõpuks kustutage konnektor konnektori registrist:

DELETE /_plugins/_ml/connectors/<connector_id>

Järeldus

Selles postituses õppisite, kuidas juurutada SageMakeris mudelit, luua OpenSearch Service'i konsooli abil AI/ML-konnektor ja koostada närviotsingu indeks. Võimalus konfigureerida OpenSearch Service'is AI/ML konnektoreid lihtsustab vektori hüdratatsiooniprotsessi, muutes väliste mudelite integreerimised natiivseks. Saate luua närviotsingu indeksi minutitega, kasutades neuraalset neelamiskonveieri ja närviotsingut, mis kasutavad mudeli ID-d, et genereerida sissevõtmise ja otsingu ajal vektori manustamist.

Nende AI/ML-pistikute kohta lisateabe saamiseks vaadake Amazon OpenSearch Service AI-pistikud AWS-teenuste jaoks, AWS CloudFormationi mallide integreerimine semantilise otsingu jaoksja Ühenduste loomine kolmandate osapoolte ML-platvormidele.


Autoritest

Aruna Govindaraju on Amazon OpenSearchi spetsialistilahenduste arhitekt ja töötanud paljude kommerts- ja avatud lähtekoodiga otsingumootoritega. Ta on kirglik otsingu, asjakohasuse ja kasutajakogemuse vastu. Tema teadmised lõppkasutaja signaalide ja otsingumootori käitumise korreleerimisel on aidanud paljudel klientidel oma otsingukogemust parandada.

Dagney Braun on OpenSearchile keskendunud AWS-i peamine tootejuht.

Ajatempel:

Veel alates AWSi suured andmed