æ¬èšäºã¯ 2025 幎 12 æ 16 æ¥ ã«å
¬éãããã Unlocking video understanding with TwelveLabs Marengo on Amazon Bedrock ãã翻蚳ãããã®ã§ãã ã¡ãã£ã¢ã»ãšã³ã¿ãŒãã€ã³ã¡ã³ããåºåãæè²ãäŒæ¥ç ä¿®ãªã©ã®ã³ã³ãã³ãã¯ãèŠèŠãé³å£°ãåãã®èŠçŽ ãçµã¿åãããŠã¹ããŒãªãŒãäŒããæ
å ±ãå±ããŸããåã
ã®åèªã«æç¢ºãªæå³ãããããã¹ããšæ¯ã¹ãŠãã¯ããã«è€éã§ãããã®ãããåç»ã³ã³ãã³ããçè§£ããå¿
èŠããã AI ã·ã¹ãã ã«ã¯ç¬èªã®èª²é¡ãçããŸããåç»ã³ã³ãã³ãã¯å€æ¬¡å
çã§ãããèŠèŠèŠçŽ (ã·ãŒã³ããªããžã§ã¯ããã¢ã¯ã·ã§ã³)ãæéçãã€ããã¯ã¹ (åãããã©ã³ãžã·ã§ã³)ãé³å£°ã³ã³ããŒãã³ã (äŒè©±ã鳿¥œã广é³)ãããã¹ããªãŒããŒã¬ã€ (åå¹ããã£ãã·ã§ã³) ãçµã¿åãããŠããŸãããã®è€éãã¯ãçµç¹ãåç»ã¢ãŒã«ã€ããæ€çŽ¢ããããç¹å®ã®ã·ãŒã³ãèŠã€ããããã³ã³ãã³ããèªåçã«åé¡ãããã广çãªæææ±ºå®ã®ããã«ã¡ãã£ã¢è³ç£ããã€ã³ãµã€ããæœåºãããããéã«ã倧ããªããžãã¹äžã®èª²é¡ãçã¿åºããŸãã ãã®ã¢ãã«ã¯ãç°ãªãã³ã³ãã³ãã¢ããªãã£ã«å¯ŸããŠåå¥ã®åã蟌ã¿ãäœæãããã«ããã¯ãã«ã¢ãŒããã¯ãã£ã§ãã®åé¡ã«å¯ŸåŠããŸãããã¹ãŠã®æ
å ±ã 1 ã€ã®ãã¯ãã«ã«å§çž®ããã®ã§ã¯ãªããã¢ãã«ã¯ç¹åãã衚çŸãçæããŸãããã®ã¢ãããŒãã«ãããåç»ããŒã¿ã®è±ãã§å€é¢çãªæ§è³ªãä¿æãããèŠèŠãæéãé³å£°ã®å次å
ã«ããã£ãŠããæ£ç¢ºãªåæãå¯èœã«ãªããŸãã Amazon Bedrock ã¯ãåææšè«ã«ãããªã¢ã«ã¿ã€ã ã®ããã¹ãããã³ç»ååŠçã§ TwelveLabs Marengo Embed 3.0 ã¢ãã«ããµããŒãããããã«æ©èœãæ¡åŒµããŸããããã®çµ±åã«ãããäŒæ¥ã¯èªç¶èšèªã¯ãšãªã䜿çšããããé«éãªåç»æ€çŽ¢æ©èœãå®è£
ã§ããããã«ãªããé«åºŠãªç»åé¡äŒŒæ§ãããã³ã°ã«ããã€ã³ã¿ã©ã¯ãã£ããªè£œåçºèŠããµããŒãããŸãã ãã®èšäºã§ã¯ã Amazon Bedrock ã§å©çšå¯èœãª TwelveLabs Marengo åã蟌ã¿ã¢ãã«ãããã«ãã¢ãŒãã« AI ãéããŠåç»çè§£ãã©ã®ããã«åŒ·åãããã玹ä»ããŸããMarengo ã¢ãã«ããã®åã蟌ã¿ãšããã¯ãã«ããŒã¿ããŒã¹ãšããŠã® Amazon OpenSearch Serverless ã䜿çšããŠãåç»ã®ã»ãã³ãã£ãã¯æ€çŽ¢ããã³åæãœãªã¥ãŒã·ã§ã³ãæ§ç¯ããŸããããã«ãããåçŽãªã¡ã¿ããŒã¿ãããã³ã°ãè¶
ããã»ãã³ãã£ãã¯æ€çŽ¢æ©èœã§ã€ã³ããªãžã§ã³ããªã³ã³ãã³ãçºèŠãå®çŸããŸãã åç»åã蟌ã¿ã®çè§£ åã蟌ã¿ã¯ã髿¬¡å
空éã§ããŒã¿ã®æå³çãªæå³ãæããå¯ãªãã¯ãã«è¡šçŸã§ããããã¯ãæ©æ¢°ãçè§£ãæ¯èŒã§ããæ¹æ³ã§ã³ã³ãã³ãã®æ¬è³ªããšã³ã³ãŒãããæ°å€çãªæçŽãšèããããšãã§ããŸããããã¹ãã®å Žåãåã蟌ã¿ã¯ãkingããšãqueenããé¢é£ããæŠå¿µã§ããããšããŸãã¯ãParisããšãFranceãã«å°ççãªé¢ä¿ãããããšãæããããšãã§ããŸããç»åã®å Žåãåã蟌ã¿ã¯èŠãç®ãç°ãªã£ãŠããŠãã ãŽãŒã«ãã³ã¬ããªã㌠㚠ã©ãã©ããŒã« ãã©ã¡ããç¬ã§ããããšãçè§£ã§ããŸãã以äžã®ããŒããããã¯ããtwo people having a conversationãããa man and a woman talkingãããcats and dogs are lovely animalsããšããæç« ãã©ã°ã¡ã³ãéã®æå³çé¡äŒŒåºŠã¹ã³ã¢ã瀺ããŠããŸãã åç»åã蟌ã¿ã®èª²é¡ åç»ã¯æ¬è³ªçã«ãã«ãã¢ãŒãã«ã§ãããããç¬èªã®èª²é¡ããããŸã: èŠèŠæ
å ± : ãªããžã§ã¯ããã·ãŒã³ã人ç©ãã¢ã¯ã·ã§ã³ãèŠèŠçãªçŸãã é³å£°æ
å ± : é³å£°ã鳿¥œã广é³ãç°å¢é³ ããã¹ãæ
å ± : ãã£ãã·ã§ã³ãç»é¢äžã®ããã¹ããé³å£°ããæžãèµ·ããããããã¹ã åŸæ¥ã®åäžãã¯ãã«ã¢ãããŒãã§ã¯ããã®è±å¯ãªæ
å ±ããã¹ãŠ 1 ã€ã®è¡šçŸã«å§çž®ãããããéèŠãªãã¥ã¢ã³ã¹ã倱ãããããšããããããŸããããã§ TwelveLabs Marengo ã®ã¢ãããŒãããã®èª²é¡ã«å¹æçã«å¯ŸåŠããç¹ã§ãŠããŒã¯ã§ãã Twelvelabs Marengo: ãã«ãã¢ãŒãã«åã蟌ã¿ã¢ãã« Marengo 3.0 ã¢ãã«ã¯ãåç»ã³ã³ãã³ãã®ããŸããŸãªåŽé¢ãæããè€æ°ã®ç¹åãããã¯ãã«ãçæããŸããå
žåçãªæ ç»ããã¬ãçªçµã¯ãèŠèŠèŠçŽ ãšèŽèŠèŠçŽ ãçµã¿åãããŠçµ±äžãããã¹ããŒãªãŒããªã³ã°äœéšãäœãåºããŸããMarengo ã®ãã«ããã¯ãã«ã¢ãŒããã¯ãã£ã¯ããã®è€éãªåç»ã³ã³ãã³ããçè§£ããããã«å€§ããªå©ç¹ãæäŸããŸããåãã¯ãã«ã¯ç¹å®ã®ã¢ããªãã£ãæãã倿§ãªããŒã¿ã¿ã€ããåäžã®è¡šçŸã«å§çž®ããããšã«ããæ
å ±æå€±ãåé¿ããŸããããã«ãããèŠèŠã®ã¿ãé³å£°ã®ã¿ããŸãã¯çµã¿åãããã¯ãšãªãªã©ãç¹å®ã®ã³ã³ãã³ãã®åŽé¢ãã¿ãŒã²ããã«ããæè»ãªæ€çŽ¢ãå¯èœã«ãªããŸããç¹åãããã¯ãã«ã¯ãè€éãªãã«ãã¢ãŒãã«ã·ããªãªã§åªãã粟床ãæäŸããªãããå€§èŠæš¡ãªãšã³ã¿ãŒãã©ã€ãºåç»ããŒã¿ã»ããã«å¯Ÿããå¹ççãªã¹ã±ãŒã©ããªãã£ãç¶æããŸãã ãœãªã¥ãŒã·ã§ã³æŠèŠ: Marengo ã¢ãã«ã®æ©èœ 以äžã®ã»ã¯ã·ã§ã³ã§ã¯ãã³ãŒããµã³ãã«ãéã㊠Marengo ã®åãèŸŒã¿æè¡ã®åšåã宿ŒããŸãããããã®äŸã¯ãMarengo ãããŸããŸãªã¿ã€ãã®ã³ã³ãã³ããã©ã®ããã«åŠçããåªããæ€çŽ¢ç²ŸåºŠãæäŸãããã瀺ããŠããŸããå®å
šãªã³ãŒããµã³ãã«ã¯ããã® GitHub ãªããžã㪠ã«ãããŸãã åææ¡ä»¶ å§ããåã«ã以äžã確èªããŠãã ãã: é©åãªæš©éãæã€ AWS ã¢ã«ãŠã³ã Amazon Bedrock ãžã®ã¢ã¯ã»ã¹ OpenSearch Serverless ã³ã¬ã¯ã·ã§ã³ãšã€ã³ããã¯ã¹ãäœæããããã®ã¢ã¯ã»ã¹ ãã¯ãã«ããŒã¿ããŒã¹ãšåã蟌ã¿ã«é¢ããåºæ¬çãªç¥è ãµã³ãã«åç» Netflix Open Content ã¯ãCreative Commons Attribution 4.0 International ã©ã€ã»ã³ã¹ã®äžã§å©çšå¯èœãªãªãŒãã³ãœãŒã¹ã³ã³ãã³ãã§ããAmazon Bedrock äžã® TwelveLabs Marengo ã¢ãã«ã®ãã¢ã³ã¹ãã¬ãŒã·ã§ã³ã«ã¯ã Meridian ãšããåç»ã䜿çšããŸãã åç»åã蟌ã¿ã®äœæ Amazon Bedrock ã¯ãMarengo åç»åã蟌ã¿çæã«éåæ API ã䜿çšããŸãã以äžã¯ãS3 ãã±ããã®å Žæããåç»ãååŸãã API ãåŒã³åºãäŸã瀺ã Python ã³ãŒãã¹ããããã§ãããµããŒããããŠããå®å
šãªæ©èœã«ã€ããŠã¯ã ããã¥ã¡ã³ã ãåç
§ããŠãã ããã bedrock_client = boto3.client("bedrock-runtime") model_id = 'us.twelvelabs.marengo-embed-3-0-v1:0' video_s3_uri = "<s3 bucket location for the video>" # Replace by your s3 URI aws_account_id = "<the AWS account owner for the bucket>" # Replace by bucket owner ID s3_bucket_name = "<s3 bucket name>" # Replace by output S3 bucket name s3_output_prefix = "<output prefix>" # Replace by output prefix response = bedrock_client.start_async_invoke( modelId=model_id, modelInput={ "inputType": "video", "video": { "mediaSource": { "s3Location": { "uri": video_s3_uri, "bucketOwner": aws_account_id } } } }, outputDataConfig={ "s3OutputDataConfig": { "s3Uri": f's3://{s3_bucket_name}/{s3_output_prefix}' } } ) äžèšã®äŸã§ã¯ã1 ã€ã®åç»ãã 280 åã®åå¥ã®åã蟌ã¿ãçæãããŸããåã»ã°ã¡ã³ãã« 1 ã€ãã€çæãããæ£ç¢ºãªæéçæ€çŽ¢ãšåæãå¯èœã«ãªããŸããåç»ããã®ãã«ããã¯ãã«åºåã®åã蟌ã¿ã¿ã€ãã«ã¯ã以äžãå«ãŸããå¯èœæ§ããããŸã: [ {'embedding': [0.053192138671875,...], 'embeddingOption': "visual", 'embeddingScope' : "clip", "startSec" : 0.0, "endSec" : 4.3 }, {'embedding': [0.053192138645645,...], 'embeddingOption': "transcription", 'embeddingScope' : "clip", "startSec" : 3.9, "endSec" : 6.5 }, {'embedding': [0.3235554er443524,...], 'embeddingOption': "audio", 'embeddingScope' : "clip", "startSec" : 4.9, "endSec" : 7.5 } ] visual â åç»ã®èŠèŠåã蟌㿠transcription â æåèµ·ãããããããã¹ãã®åã蟌㿠audio â åç»å
ã®é³å£°ã®åã蟌㿠é³å£°ãŸãã¯åç»ã³ã³ãã³ããåŠçããéãåã蟌ã¿äœæã®ããã«åã¯ãªããã»ã°ã¡ã³ãã®é·ããèšå®ã§ããŸããããã©ã«ãã§ã¯ãåç»ã¯ãªããã¯èªç¶ãªã·ãŒã³å€å (ã·ã§ããå¢ç) ã§èªåçã«åå²ãããŸããé³å£°ã¯ãªããã¯ã10 ç§ã«ã§ããã ãè¿ãåçãªã»ã°ã¡ã³ãã«åå²ãããŸããäŸãã°ã50 ç§ã®é³å£°ãã¡ã€ã«ã¯ 10 ç§ãã€ã® 5 ã»ã°ã¡ã³ãã«ãªãã16 ç§ã®ãã¡ã€ã«ã¯ 8 ç§ãã€ã® 2 ã»ã°ã¡ã³ãã«ãªããŸããããã©ã«ãã§ã¯ãåäžã® Marengo åç»åã蟌㿠API 㯠visual-textãvisual-imageãaudio åã蟌ã¿ãçæããŸããããã©ã«ãèšå®ã倿ŽããŠãç¹å®ã®åã蟌ã¿ã¿ã€ãã®ã¿ãåºåããããšãã§ããŸããAmazon Bedrock API ã§èšå®å¯èœãªãªãã·ã§ã³ã䜿çšããŠåç»ã®åã蟌ã¿ãçæããã«ã¯ã以äžã®ã³ãŒãã¹ããããã䜿çšããŸã: response = bedrock_client.start_async_invoke( modelId=model_id, modelInput={ "modelId": model_id, "modelInput": { "inputType": "video", "video": { "mediaSource": { "base64String": "base64-encoded string", // base64String OR s3Location, exactly one "s3Location": { "uri": "s3://amzn-s3-demo-bucket/video/clip.mp4", "bucketOwner": "123456789012" } }, "startSec": 0, "endSec": 6, "segmentation": { "method": "dynamic", // dynamic OR fixed, exactly one "dynamic": { "minDurationSec": 4 } "method": "fixed", "fixed": { "durationSec": 6 } }, "embeddingOption": [ "visual", "audio", "transcription" ], // optional, default=all "embeddingScope": [ "clip", "asset" ] // optional, one or both }, "inferenceId": "some inference id" } } ) ãã¯ãã«ããŒã¿ããŒã¹: Amazon OpenSearch Serverless ãã®äŸã§ã¯ãMarengo ã¢ãã«ãä»ããŠæå®ãããåç»ããçæãããããã¹ããç»åãé³å£°ãåç»ã®åã蟌ã¿ãä¿åããããã®ãã¯ãã«ããŒã¿ããŒã¹ãšã㊠Amazon OpenSearch Serverless ã䜿çšããŸãããã¯ãã«ããŒã¿ããŒã¹ãšããŠãOpenSearch Serverless ã䜿çšãããšããµãŒããŒãã€ã³ãã©ã¹ãã©ã¯ãã£ã®ç®¡çãå¿é
ããããšãªããã»ãã³ãã£ãã¯æ€çŽ¢ã䜿çšããŠé¡äŒŒã®ã³ã³ãã³ãããã°ããèŠã€ããããšãã§ããŸãã以äžã®ã³ãŒãã¹ããããã¯ãAmazon OpenSearch Serverless ã³ã¬ã¯ã·ã§ã³ãäœæããæ¹æ³ã瀺ããŠããŸã: aoss_client = boto3_session.client('opensearchserverless') try: collection = self.aoss_client.create_collection( name=collection_name, type='VECTORSEARCH' ) collection_id = collection['createCollectionDetail']['id'] collection_arn = collection['createCollectionDetail']['arn'] except self.aoss_client.exceptions.ConflictException: collection = self.aoss_client.batch_get_collection( names=[collection_name] )['collectionDetails'][0] pp.pprint(collection) collection_id = collection['id'] collection_arn = collection['arn'] OpenSearch Serverless ã³ã¬ã¯ã·ã§ã³ãäœæããããããã¯ãã«ãã£ãŒã«ããå«ãããããã£ãæã€ã€ã³ããã¯ã¹ãäœæããŸã: index_mapping = { "mappings": { "properties": { "video_id": {"type": "keyword"}, "segment_id": {"type": "integer"}, "start_time": {"type": "float"}, "end_time": {"type": "float"}, "embedding": { "type": "dense_vector", "dims": 1024, "index": True, "similarity": "cosine" }, "metadata": {"type": "object"} } } } credentials = boto3.Session().get_credentials() awsauth = AWSV4SignerAuth(credentials, region_name, 'aoss') oss_client = OpenSearch( hosts=[{'host': host, 'port': 443}], http_auth=self.awsauth, use_ssl=True, verify_certs=True, connection_class=RequestsHttpConnection, timeout=300 ) response = oss_client.indices.create(index=index_name, body=index_mapping) Marengo åã蟌ã¿ã®ã€ã³ããã¯ã¹äœæ 以äžã®ã³ãŒãã¹ããããã¯ãMarengo ã¢ãã«ããã®åã蟌ã¿åºåã OpenSearch ã€ã³ããã¯ã¹ã«åãèŸŒãæ¹æ³ã瀺ããŠããŸã: documents = [] for i, segment in enumerate(video_embeddings): document = { "embedding": segment["embedding"], "start_time": segment["startSec"], "end_time": segment["endSec"], "video_id": video_id, "segment_id": i, "embedding_option": segment.get("embeddingOption", "visual") } documents.append(document) # Bulk index documents bulk_data = [] for doc in documents: bulk_data.append({"index": {"_index": self.index_name}}) bulk_data.append(doc) # Convert to bulk format bulk_body = "\n".join(json.dumps(item) for item in bulk_data) + "\n" response = oss_client.bulk(body=bulk_body, index=self.index_name) ã¯ãã¹ã¢ãŒãã«ã»ãã³ãã£ãã¯æ€çŽ¢ Marengo ã®ãã«ããã¯ãã«èšèšã«ãããåäžãã¯ãã«ã¢ãã«ã§ã¯äžå¯èœãªç°ãªãã¢ããªãã£éã§ã®æ€çŽ¢ãå¯èœã«ãªããŸããèŠèŠãé³å£°ãåããã³ã³ããã¹ãèŠçŽ ã«å¯ŸããŠåå¥ã ãæŽåæ§ã®ããåã蟌ã¿ãäœæããããšã§ãéžæããå
¥åã¿ã€ãã䜿çšããŠåç»ãæ€çŽ¢ã§ããŸããäŸãã°ããjazz music playingããšããã¯ãšãªã¯ã1 ã€ã®ããã¹ãã¯ãšãªãããã¥ãŒãžã·ã£ã³ã®æŒå¥åç»ã¯ãªããããžã£ãºã®é³å£°ãã©ãã¯ãã³ã³ãµãŒãããŒã«ã®ã·ãŒã³ãè¿ããŸãã 以äžã®äŸã¯ãããŸããŸãªã¢ããªãã£ã«ããã Marengo ã®åªããæ€çŽ¢æ©èœã瀺ããŠããŸã: ããã¹ãæ€çŽ¢ 以äžã¯ãããã¹ãã䜿çšããã¯ãã¹ã¢ãŒãã«ã»ãã³ãã£ãã¯æ€çŽ¢æ©èœã瀺ãã³ãŒãã¹ããããã§ã: text_query = "a person smoking in a room" modelInput={ "inputType": "text", "text": { "inputText": text_query } } response = self.bedrock_client.invoke_model( modelId="us.twelvelabs.marengo-embed-3-0-v1:0", body=json.dumps(modelInput)) result = json.loads(response["body"].read()) query_embedding = result["data"][0]["embedding"] # Search OpenSearch index search_body = { "query": { "knn": { "embedding": { "vector": query_embedding, "k": top_k } } }, "size": top_k, "_source": ["start_time", "end_time", "video_id", "segment_id"] } response = opensearch_client.search(index=self.index_name, body=search_body) print(f"\nâ
Found {len(response['hits']['hits'])} matching segments:") results = [] for hit in response['hits']['hits']: result = { "score": hit["_score"], "video_id": hit["_source"]["video_id"], "segment_id": hit["_source"]["segment_id"], "start_time": hit["_source"]["start_time"], "end_time": hit["_source"]["end_time"] } results.append(result) ããã¹ãã¯ãšãªãa person smoking in a roomãããã®äžäœæ€çŽ¢çµæã¯ã以äžã®åç»ã¯ãªãããè¿ããŸã: ç»åæ€çŽ¢ 以äžã®ã³ãŒãã¹ããããã¯ãæå®ãããç»åã«å¯Ÿããã¯ãã¹ã¢ãŒãã«ã»ãã³ãã£ãã¯æ€çŽ¢æ©èœã瀺ããŠããŸã: s3_image_uri = f's3://{self.s3_bucket_name}/{self.s3_images_path}/{image_path_basename}' s3_output_prefix = f'{self.s3_embeddings_path}/{self.s3_images_path}/{uuid.uuid4()}' modelInput={ "inputType": "image", "image": { "mediaSource": { "s3Location": { "uri": s3_image_uri, "bucketOwner": self.aws_account_id } } } } response = self.bedrock_client.invoke_model( modelId=self.cris_model_id, body=json.dumps(modelInput), ) result = json.loads(response["body"].read()) ... query_embedding = result["data"][0]["embedding"] # Search OpenSearch index search_body = { "query": { "knn": { "embedding": { "vector": query_embedding, "k": top_k } } }, "size": top_k, "_source": ["start_time", "end_time", "video_id", "segment_id"] } response = opensearch_client.search(index=self.index_name, body=search_body) print(f"\nâ
Found {len(response['hits']['hits'])} matching segments:") results = [] for hit in response['hits']['hits']: result = { "score": hit["_score"], "video_id": hit["_source"]["video_id"], "segment_id": hit["_source"]["segment_id"], "start_time": hit["_source"]["start_time"], "end_time": hit["_source"]["end_time"] } results.append(result) äžèšã®ç»åããã®äžäœæ€çŽ¢çµæã¯ã以äžã®åç»ã¯ãªãããè¿ããŸã: åç»ã«å¯Ÿããããã¹ããšç»åã䜿çšããã»ãã³ãã£ãã¯æ€çŽ¢ã«å ããŠãMarengo ã¢ãã«ã¯äŒè©±ãé³å£°ã«çŠç¹ãåœãŠãé³å£°åã蟌ã¿ã䜿çšããŠåç»ãæ€çŽ¢ããããšãã§ããŸããé³å£°æ€çŽ¢æ©èœã«ããããŠãŒã¶ãŒã¯ç¹å®ã®è©±è
ãäŒè©±ã®å
容ããŸãã¯è©±ãããŠãããããã¯ã«åºã¥ããŠåç»ãèŠã€ããããšãã§ããŸããããã«ãããåç»çè§£ã®ããã«ããã¹ããç»åãé³å£°ãçµã¿åãããå
æ¬çãªåç»æ€çŽ¢äœéšãå®çŸããŸãã ãŸãšã TwelveLabs Marengo ãš Amazon Bedrock ã®çµã¿åããã¯ããã«ããã¯ãã«ããã«ãã¢ãŒãã«ã¢ãããŒããéããŠåç»çè§£ã®æ°ããå¯èœæ§ãåãéããŸãããã®èšäºã§ã¯ãæéç粟床ãæã€ç»åããåç»ãžã®æ€çŽ¢ãã詳现ãªããã¹ãããåç»ãžã®ãããã³ã°ãªã©ã®å®è·µçãªäŸãæ¢ããŸããããã£ã 1 åã® Bedrock API åŒã³åºãã§ã1 ã€ã®åç»ãã¡ã€ã«ãããã¹ããèŠèŠãé³å£°ã¯ãšãªã«å¿çãã 336 åã®æ€çŽ¢å¯èœãªã»ã°ã¡ã³ãã«å€æããŸããããããã®æ©èœã¯ãèªç¶èšèªã«ããã³ã³ãã³ãçºèŠãå¹çåãããã¡ãã£ã¢è³ç£ç®¡çãããã³çµç¹ãå€§èŠæš¡ã«åç»ã³ã³ãã³ããããè¯ãçè§£ãæŽ»çšããã®ã«åœ¹ç«ã€ãã®ä»ã®ã¢ããªã±ãŒã·ã§ã³ã®æ©äŒãçã¿åºããŸãã åç»ãããžã¿ã«äœéšãæ¯é
ãç¶ããäžãMarengo ã®ãããªã¢ãã«ã¯ãããã€ã³ããªãžã§ã³ããªåç»åæã·ã¹ãã ãæ§ç¯ããããã®å
åºãªåºç€ãæäŸããŸãã ãµã³ãã«ã³ãŒã ããã§ãã¯ããŠããã«ãã¢ãŒãã«åç»çè§£ãã¢ããªã±ãŒã·ã§ã³ãã©ã®ããã«å€é©ã§ããããçºèŠããŠãã ããã èè
ã«ã€ã㊠Wei Teh ã¯ãAWS ã®æ©æ¢°åŠç¿ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã§ããæå
ç«¯ã®æ©æ¢°åŠç¿ãœãªã¥ãŒã·ã§ã³ã䜿çšããŠã客æ§ã®ããžãã¹ç®æšéæãæ¯æŽããããšã«æ
ç±ã泚ãã§ããŸããä»äºä»¥å€ã§ã¯ãå®¶æãšãã£ã³ããé£ãããã€ãã³ã°ãªã©ã®ã¢ãŠããã¢æŽ»åãæ¥œããã§ããŸãã Lana Zhang ã¯ãAWS ã® Worldwide Specialist Organization ã«æå±ããçæ AI ã®ã·ãã¢ã¹ãã·ã£ãªã¹ããœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã§ããAI é³å£°ã¢ã·ã¹ã¿ã³ãããã«ãã¢ãŒãã«çè§£ãªã©ã®ãŠãŒã¹ã±ãŒã¹ã«çŠç¹ãåœãŠã AI/ML ãå°éãšããŠããŸããã¡ãã£ã¢ã»ãšã³ã¿ãŒãã€ã³ã¡ã³ããã²ãŒã ãã¹ããŒããåºåãéèãµãŒãã¹ããã«ã¹ã±ã¢ãªã©ãããŸããŸãªæ¥çã®ã客æ§ãšç·å¯ã«é£æºããAI ãéããŠããžãã¹ãœãªã¥ãŒã·ã§ã³ã®å€é©ãæ¯æŽããŠããŸãã Yanyan Zhang ã¯ãAmazon Web Services ã®ã·ãã¢çæ AI ããŒã¿ãµã€ãšã³ãã£ã¹ãã§ããçæ AI ã¹ãã·ã£ãªã¹ããšããŠæå
端㮠AI/ML æè¡ã«åãçµã¿ãã客æ§ãçæ AI ã䜿çšããŠæãææãéæã§ããããæ¯æŽããŠããŸãããããµã¹ A&M 倧åŠã§é»æ°å·¥åŠã®å士å·ãååŸããŸãããä»äºä»¥å€ã§ã¯ãæ
è¡ãã¯ãŒã¯ã¢ãŠããæ°ããããšã®æ¢æ±ã楜ããã§ããŸãã ãã®èšäºã¯ Kiro ã翻蚳ãæ
åœããSolutions Architect ã® æŠæ¬ è²Žä¹ ãã¬ãã¥ãŒããŸããã