Amazon SageMaker Pipelines ã®ããžã¥ã¢ã«ãã¶ã€ããŒã䜿çšããŠãçæAIã¢ãã«ã®ãã¬ãŒãã³ã°ããã¡ã€ã³ãã¥ãŒãã³ã°ãè©äŸ¡ãç»é²ããããã€ãè¡ããšã³ãããŒãšã³ãã®ã¯ãŒã¯ãããŒãäœæã§ããããã«ãªããŸãããSageMaker Pipelines ã¯ãåºç€ã¢ãã«ã®éçš (FMOps) ã®ããã«ç¹å¥ã«æ§ç¯ããããµãŒããŒã¬ã¹ã¯ãŒã¯ãã㌠ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãµãŒãã¹ã§ããå°éçãªã¯ãŒã¯ãããŒãã¬ãŒã ã¯ãŒã¯ãåŠã¶å¿
èŠãªããã¢ãã«éçºãããŒãããã¯ã®å€§èŠæš¡å®è¡ãèªååãããããã¿ã€ãããæ¬çªç°å¢ãŸã§ã® çæ AI ãžã£ãŒããŒãå éããŸããããŒã¿ãµã€ãšã³ãã£ã¹ããæ©æ¢°åŠç¿ (ML) ãšã³ãžãã¢ã¯ãå€§èŠæš¡èšèªã¢ãã« (LLM) ã®ç¶ç¶çãªãã¡ã€ã³ãã¥ãŒãã³ã°ãã¹ã±ãžã¥ãŒã«ãããããŒãããã¯ãžã§ãã¯ãŒã¯ãããŒãªã©ã®ã¿ã¹ã¯ã«ãã€ãã©ã€ã³ã䜿çšã§ããŸãããã€ãã©ã€ã³ã¯ãæ°äžã®ã¯ãŒã¯ãããŒã䞊åã§å®è¡ããããã«ã¹ã±ãŒã«ã¢ããããã¯ãŒã¯ããŒãã«å¿ããŠèªåçã«ã¹ã±ãŒã«ããŠã³ããŸãã ããªãããçæ AI ã¯ãŒã¯ãããŒã®å¹çåãç®æããã€ãã©ã€ã³ãå©çšããã®ãåããŠã§ãããããã¯çµéšè±å¯ãªãŠãŒã¶ãŒã§ããæ¬èšäºã«ãŠã¹ããããã€ã¹ãããã§ç޹ä»ããããžã¥ã¢ã«ãã¶ã€ããŒã䜿çšããŠçç£æ§ãåäžãããè€é㪠AI/ML ãã€ãã©ã€ã³ã®æ§ç¯ããã»ã¹ãç°¡çŽ åããããšãã§ããŸããå
·äœçã«ã¯ã以äžã®å
容ãåŠã³ãŸãã Amazon SageMaker Studio ã®æ°ããããžã¥ã¢ã«ãã¶ã€ããŒãžã®ã¢ã¯ã»ã¹æ¹æ³ã ãã©ãã°ã¢ã³ãããããæ©èœã䜿çšãã LLM ã®ãã¡ã€ã³ãã¥ãŒãã³ã°çšã®å®å
šãª AI/ML ãã€ãã©ã€ã³ã®äœæã æ°ããã¢ãã«ã® ãã¡ã€ã³ãã¥ãŒãã³ã° ãã¢ãã«ã®ãããã€ã ããŒãããã¯ãšã³ãŒãã®å®è¡ ãå«ããã€ãã©ã€ã³ã® ã¹ããã ã®èšå®ã ã¢ãã«ã®ããã©ãŒãã³ã¹ã«åºã¥ãæææ±ºå®ãèªååããããã®æ¡ä»¶ä»ãããžãã¯ã®å®è£
ã åæ Œããã¢ãã«ã Amazon SageMaker Model Registry ãžç»é²ããæ¹æ³ã Llama ãã¡ã€ã³ãã¥ãŒãã³ã°ãã€ãã©ã€ã³ã®æŠèŠ ãã®èšäºã§ã¯ã Meta 瀟㮠Llama 3.x ã¢ãã« ãéèã¢ããªã±ãŒã·ã§ã³åãã« SEC ãã¡ã€ãªã³ã° (翻蚳è
泚: ç±³åœèšŒåžååŒå§å¡äŒ (SEC) ã«æåºã矩åä»ããããŠãã財å諞衚ããã®ä»ã®æ£åŒææžã®ããš) ã®é«å質ãªèŠçŽãæäŸã§ããããã«ãLLM ã«ã¹ã¿ãã€ãº (ãã¡ã€ã³ãã¥ãŒãã³ã°) ã¯ãŒã¯ãããŒãèªååããæ¹æ³ã説æããŸãããã¡ã€ã³ãã¥ãŒãã³ã°ã«ããããã¡ã€ã³åºæã®ã¿ã¹ã¯ã§ããã©ãŒãã³ã¹ãåäžãããããã«LLMãèšå®ã§ããŸãããã¡ã€ã³ãã¥ãŒãã³ã°åŸãLlama 3 8B ã¢ãã«ã¯ã¢ããªã±ãŒã·ã§ã³ãŠãŒã¶ãŒã«å¯ŸããŠæŽå¯ã«å¯ãã 財åèŠçŽãçæã§ããããã«ãªããŸãããã ããLLM ã 1 床ã ããã¡ã€ã³ãã¥ãŒãã³ã°ããã®ã¿ã§ã¯äžååã§ããææ°ã®å®äžçããŒã¿ (ãã®å Žåã¯äŒæ¥ã®ææ°ã® SEC ãã¡ã€ãªã³ã°) ã«åãããŠã宿çã« LLM ããã¥ãŒãã³ã°ããå¿
èŠããããŸããæ°ããããŒã¿ãå©çšå¯èœã«ãªããã³ã« (äŸãã°ãååæããšã®æ±ºç®çºè¡šåŸ) ããã®ã¿ã¹ã¯ãæåã§ç¹°ãè¿ã代ããã«ãèªåçã«ããªã¬ãŒããã SageMaker Pipelines ã䜿çšãã Llama 3 ãã¡ã€ã³ãã¥ãŒãã³ã°ã¯ãŒã¯ãããŒãäœæã§ããŸããããã«ãããæ£ç¢ºæ§ãäžè²«æ§ãåçŸæ§ã確ä¿ããªãããLLM ãçæãã財åèŠçŽã®å質ãåäžããã€ã¥ããããšãã§ããŸãã SEC ãã¡ã€ãªã³ã°ã®ããŒã¿ã»ãã㯠Amazon SageMaker JumpStart ã® S3 ãã±ãããéããŠå
¬éãããŠããŸãã以äžããã€ãã©ã€ã³äœæã¹ãããã®æŠèŠã§ãã SEC ã®éèããŒã¿ã»ããã䜿çšããŠãSageMaker JumpStart ãã Meta Llama 3 8B ã¢ãã«ããã¡ã€ã³ãã¥ãŒãã³ã°ããŸãã ãã¡ã€ã³ãã¥ãŒãã³ã°ãã Llama 3 8B ã¢ãã«ã SageMaker Inference ãžãããã€ãããããã®æºåãããŸãã ãã¡ã€ã³ãã¥ãŒãã³ã°ãã Llama 3 8B ã¢ãã« ã SageMaker Inference ã«ãããã€ããŸãã ãªãŒãã³ãœãŒã¹ã® Foundation Model Evaluations (fmeval) ã©ã€ãã©ãªã䜿çšããŠããã¡ã€ã³ãã¥ãŒãã³ã°ããã¢ãã«ã®ããã©ãŒãã³ã¹ãè©äŸ¡ããŸãã æ¡ä»¶ã¹ãããã䜿çšããŠããã¡ã€ã³ãã¥ãŒãã³ã°ããã¢ãã«ãæãŸããããã©ãŒãã³ã¹ãæºãããŠãããã©ãããå€å®ããŸããæºãããŠããå Žåã¯ããã¡ã€ã³ãã¥ãŒãã³ã°ããã¢ãã«ã SageMaker Model Registry ã«ç»é²ããŸãããã¡ã€ã³ãã¥ãŒãã³ã°ããã¢ãã«ã®ããã©ãŒãã³ã¹ãæãŸããéŸå€ãäžåãå Žåããã€ãã©ã€ã³ã®å®è¡ã¯å€±æããŸãã åææ¡ä»¶ ãã®ãœãªã¥ãŒã·ã§ã³ãæ§ç¯ããã«ã¯ã以äžã®åææ¡ä»¶ãå¿
èŠã§ãã äœæ¥ãè¡ãããã® AWS ã¢ã«ãŠã³ãã SageMaker ã«ã¢ã¯ã»ã¹ããããã® AWS Identity and Access Management (IAM) ããŒã«ãIAM ãš SageMaker ã®é£æºã«ã€ããŠè©³ããã¯ã Identity and Access Management for Amazon SageMaker ãã芧ãã ããã SageMaker Pipelines ããžã¥ã¢ã«ãšãã£ã¿ã«ã¢ã¯ã»ã¹ããããã®SageMaker Studio ãžã®ã¢ã¯ã»ã¹ããŸããSageMaker ãã¡ã€ã³ãšãŠãŒã¶ãŒãããã¡ã€ã«ãäœæããå¿
èŠããããŸãã詳ãã㯠Guide to getting set up with Amazon SageMaker ãã芧ãã ããã ã¢ãã«ããããã€ããããã® ml.g5.12xlarge ã€ã³ã¹ã¿ã³ã¹ãšãã¢ãã«ããã¡ã€ã³ãã¥ãŒãã³ã°ããããã® ml.g5.12xlarge ãã¬ãŒãã³ã°ã€ã³ã¹ã¿ã³ã¹ãã¯ã©ãŒã¿ã®åŒãäžããªã¯ãšã¹ããå¿
èŠãªå ŽåããããŸãã詳现㯠Requesting a quota increase ãã芧ãã ããã ããžã¥ã¢ã«ãšãã£ã¿ãžã®ã¢ã¯ã»ã¹ SageMaker Studio ã³ã³ãœãŒã«ã®ããã²ãŒã·ã§ã³ãã€ã³ã§ Pipelines ãéžæããå³åŽã® Create in visual editor ãéžæããŠãããžã¥ã¢ã«ãšãã£ã¿ã«ã¢ã¯ã»ã¹ããŸããSageMaker Pipelines ã¯è€æ°ã®ã¹ãããåå£«ãæ¥ç¶ããŠæ§æãããŸãããŸãã¯ãããžã¥ã¢ã«ãšãã£ã¿ããµããŒããã Step types ã®äžèЧã衚瀺ãããŠããããšã確èªããŸãã ãã®èšäºã®æé ãé²ããéããã€ã§ããã€ãã©ã€ã³ã®æ§ç¯ããã»ã¹ãäžæãã鲿ãä¿åããŠåŸã§åéããããšãã§ããŸããããžã¥ã¢ã«ãšãã£ã¿ã®äžéšã«ãã Export ãéžæããŠããã€ãã©ã€ã³å®çŸ©ã JSON ãã¡ã€ã«ãšããŠããŒã«ã«ç°å¢ã«ããŠã³ããŒãã§ããŸããåŸã§ Import ãã¿ã³ãéžæã㊠JSON ãã¡ã€ã«ãåã¢ããããŒãããããšã§ããã€ãã©ã€ã³ã®æ§ç¯ãåéã§ããŸãã ã¹ããã #1: LLM ã®ãã¡ã€ã³ãã¥ãŒãã³ã° æ°ãããšãã£ã¿ã§ã¯ã Fine tune ã¹ãããã䜿çšã㊠SageMaker JumpStart ããã¢ãã«ãç°¡åã«ãã¡ã€ã³ãã¥ãŒãã³ã°ã§ããŸãã Fine tune ã¹ãããããšãã£ã¿ã«ãã©ãã°ãã以äžã®è©³çްãå
¥åããŸã: Model (input) ã»ã¯ã·ã§ã³ã§ Meta-Llama-3-8B ãéžæããŸãããŠã£ã³ããŠã®äžéšãŸã§ã¹ã¯ããŒã«ã㊠EULA ã«åæãã Save ãéžæããŸãã Model (output) ã»ã¯ã·ã§ã³ã«ã¯ãããã©ã«ãã® Amazon Simple Storage Service (Amazon S3) ãèªåçã«å
¥åãããŸããã¢ãã«ã¢ãŒãã£ãã¡ã¯ããä¿åããå Žæã倿Žããå Žåã¯ãS3 URI ã倿ŽããŸãã ãã®äŸã§ã¯ããã¬ãŒãã³ã°çšã«ããã©ã«ãã® SEC ããŒã¿ã»ããã䜿çšããŸãã Dataset (input) ã倿Žããããšã§ãç¬èªã®ããŒã¿ã»ããã䜿çšããããšãã§ããŸãã ml.g5.12x.large ã€ã³ã¹ã¿ã³ã¹ãéžæããŸãã ãã€ããŒãã©ã¡ãŒã¿èšå®ã¯ããã©ã«ãã®ãŸãŸã«ããŸãããããã¯ãŠãŒã¹ã±ãŒã¹ã«å¿ããŠèª¿æŽã§ããŸãã (ãªãã·ã§ã³) Details ã¿ãã® Step display name ã§ã¹ãããåãæŽæ°ã§ããŸãããã®äŸã§ã¯ãã¹ãããåã Fine tune Llama 3 8B ã«æŽæ°ããŸãã ã¹ããã #2: ãã¡ã€ã³ãã¥ãŒãã³ã°ãã LLM ã®ãããã€æºå ã¢ãã«ããšã³ããã€ã³ãã«ãããã€ããåã«ãã¢ãã«å®çŸ©ãäœæããŸããããã«ã¯ã¢ãã«ã¢ãŒãã£ãã¡ã¯ããšã¢ãã«ããã¹ãããããã«å¿
èŠãª Docker ã³ã³ãããå«ãŸããŸãã Create model ã¹ãããããšãã£ã¿ã«ãã©ãã°ããŸãã ããžã¥ã¢ã«ãšãã£ã¿ã䜿çšã㊠Fine tune ã¹ãããã Create model ã¹ãããã«æ¥ç¶ããŸãã Settings ã¿ãã§ä»¥äžã®è©³çްã远å ããŸãã å¿
èŠãªæš©éãæã€ IAM ããŒã«ãéžæããŸãã Model (input) : Step variable ãš Fine-tuning Model Artifacts ãéžæããŸãã Container: Bring your own container ãéžæãã Location (ECR URI) ã« 763104351884.dkr.ecr.<region_name>. amazonaws.com/djl-inference:0.28.0-lmi10.0.0-cu124 (<region_name>ããå©çšã®AWSãªãŒãžã§ã³ã«çœ®ãæã) ãå
¥åããŸãããã®äŸã§ã¯ Large Model Inference Containers (å€§èŠæš¡ã¢ãã«æšè«ã³ã³ãã) ã䜿çšããŸããææ°ã®å©çšå¯èœãªãã£ãŒãã©ãŒãã³ã°ã³ã³ããã«ã€ããŠã¯ã GitHub ã§è©³çްã確èªã§ããŸãã ã¹ããã #3: ãã¡ã€ã³ãã¥ãŒãã³ã°ãã LLM ã®ããã〠次ã«ãã¢ãã«ããªã¢ã«ã¿ã€ã æšè«ãšã³ããã€ã³ãã«ãããã€ããŸãã Deploy model (endpoint) ã¹ãããããšãã£ã¿ã«ãã©ãã°ããŸãã ãšã³ããã€ã³ãåãšã㊠llama-fine-tune ãªã©ã®ååãå
¥åããŸãã ããžã¥ã¢ã«ãšãã£ã¿ã䜿çšããŠãã®ã¹ãããã Create model ã¹ãããã«æ¥ç¶ããŸãã Model (input) ã»ã¯ã·ã§ã³ã§ã Inherit model ãéžæããŸãã Model name ã§ Step variable ãéžæãããšãåã®ã¹ããããã Model Name 倿°ãåŒãç¶ãããŸãã Save ãéžæããŸãã Endpoint Type ãšã㊠ml.g5.12xlarge ã€ã³ã¹ã¿ã³ã¹ãéžæããŸãã ã¹ããã#4: ãã¡ã€ã³ãã¥ãŒãã³ã°ãã LLM ã®è©äŸ¡ LLM ãã«ã¹ã¿ãã€ãºãããšã³ããã€ã³ãã«ãããã€ãããåŸãçŸå®äžçã®ã¯ãšãªã«å¯Ÿããããã©ãŒãã³ã¹ãè©äŸ¡ããå¿
èŠããããŸããããã«ã¯ã Execute code ã¹ãããã¿ã€ãã䜿çšããŠã fmeval ã©ã€ãã©ãª ã® äºå®ã«åºã¥ãç¥èè©äŸ¡ ã䜿çšããã¢ãã«è©äŸ¡ãå®è¡ããPythonã³ãŒããå®è¡ããŸãã Execute code ã¹ãããã¿ã€ãã¯æ°ããããžã¥ã¢ã«ãšãã£ã¿ãšå
±ã«å°å
¥ãããJupyter ããŒãããã¯ãPython 颿°ãShell ãŸã㯠Python ã¹ã¯ãªããã® 3 ã€ã®å®è¡ã¢ãŒããæäŸããŸãã Execute code ã¹ãããã¿ã€ãã®è©³çްã«ã€ããŠã¯ãéçºè
ã¬ã€ããåç
§ããŠãã ããããã®äŸã§ã¯ Python 颿°ã䜿çšããŸãããã®é¢æ°ã¯ fmeval ã©ã€ãã©ãªãã€ã³ã¹ããŒã«ããè©äŸ¡çšã®ããŒã¿ã»ãããäœæããçŸå®äžçã®äºå®ãåçŸããèœåã«ã€ããŠã¢ãã«ãèªåçã«ãã¹ãããŸãã 颿°ãšãã¹ãŠã®ã€ã³ããŒããããã©ã€ãã©ãªãå«ã å®å
šãª Python ãã¡ã€ã«ãããŠã³ããŒã ããŠãã ããããã® Python ãã¡ã€ã«ã«ã¯ä»¥äžã«ç€ºãã¢ãã«è©äŸ¡ã«é¢ããã³ãŒããå«ãŸããŸãã LLM è©äŸ¡ããžãã¯ã®å®çŸ© ããã³ããã§ãšã³ããã€ã³ãããã¹ãããããã®ãã¬ãã£ã¯ã¿ãŒãå®çŸ©ããŸãã # Set up SageMaker predictor for the specified endpoint predictor = sagemaker.predictor.Predictor( endpoint_name=endpoint_name, serializer=sagemaker.serializers.JSONSerializer(), deserializer=sagemaker.deserializers.JSONDeserializer() ) # Function to test the endpoint with a sample prompt def test_endpoint(predictor): # Test endpoint and convert the payload to JSON prompt = "Tell me about Amazon SageMaker" payload = { "inputs": prompt, "parameters": { "do_sample": True, "top_p": 0.9, "temperature": 0.8, "max_new_tokens": 100 }, } response = predictor.predict(payload) print(f'Query successful. \n\nExample: Prompt: {prompt} Model response: {response["generated_text"]}') output_format = '[0].generated_text' return output_format output_format = test_endpoint(predictor) ãšã³ããã€ã³ãã®åŒã³åºã: response = runtime.invoke_endpoint(EndpointName=endpoint_name, Body=json.dumps(payload), ContentType=content_type) result = json.loads(response['Body'].read().decode()) ããŒã¿ã»ããã®çæ: # Create an evaluation dataset in JSONL format with capital cities and their regions capitals = [ ("Aurillac", "Cantal"), ("Bamiyan", "Bamiyan Province"), ("Sokhumi", "Abkhazia"), ("Bukavu", "South Kivu"), ("Senftenberg", "Oberspreewald-Lausitz"), ("Legazpi City", "Albay"), ("Sukhum", "Abkhazia"), ("Paris", "France"), ("Berlin", "Germany"), ("Tokyo", "Japan"), ("Moscow", "Russia"), ("Madrid", "Spain"), ("Rome", "Italy"), ("Beijing", "China"), ("London", "United Kingdom"), ] # Function to generate a single entry for the dataset def generate_entry(): city, region = random.choice(capitals) if random.random() < 0.2: alternatives = [f"{region} Province", f"{region} province", region] answers = f"{region}<OR>" + "<OR>".join(random.sample(alternatives, k=random.randint(1, len(alternatives)))) else: answers = region return { "answers": answers, "knowledge_category": "Capitals", "question": f"{city} is the capital of" } # Generate the dataset num_entries = 15 dataset = [generate_entry() for _ in range(num_entries)] input_file = "capitals_dataset.jsonl" with open(input_file, "w") as f: for entry in dataset: f.write(json.dumps(entry) + "\n") fmeval ã䜿çšããŠã¢ãã«è©äŸ¡ãèšå®ããã³å®è¡: # Set up SageMaker model runner model_runner = SageMakerModelRunner( endpoint_name=endpoint_name, content_template=content_template, output="generated_text" ) # Configure the dataset for evaluation config = DataConfig( dataset_name="capitals_dataset_with_model_outputs", dataset_uri=output_file, dataset_mime_type=MIME_TYPE_JSONLINES, model_input_location="question", target_output_location="answers", model_output_location="model_output" ) # Set up and run the factual knowledge evaluation eval_algo = FactualKnowledge(FactualKnowledgeConfig(target_output_delimiter="<OR>")) eval_output = eval_algo.evaluate(model=model_runner, dataset_config=config, prompt_template="$model_input", save=True) # Print the evaluation results print(json.dumps(eval_output, default=vars, indent=4)) LLM è©äŸ¡ããžãã¯ã®ã¢ããããŒã æ°ãã Execute code (Run notebook or code) ã¹ãããããšãã£ã¿ã«ãã©ãã°ããèšå®ããã«ã® Details ã¿ãã䜿çšããŠã¹ãããåã Evaluate model ã«æŽæ°ããŸãã Execute code ã¹ãããã®èšå®ãè¡ãã«ã¯ã Settings ããã«ã§ä»¥äžã®æé ã«åŸããŸã: å
ã»ã©ããŠã³ããŒããã python ãã¡ã€ã«ãã¢ããããŒãããŸãã Code Settings ã§ã Mode ã Function ã«å€æŽãã Handler ã evaluating_function.py:evaluate_model ã«æŽæ°ããŸããHandler å
¥åãã©ã¡ãŒã¿ã¯ã:(ã³ãã³)ãæãã§ãã¡ã€ã«åãå·ŠåŽã«ããã³ãã©ãŒé¢æ°åãå³åŽã«é
眮ããŠæ§æãããŸã: file_name.py:handler_function Function Parameters (input) ã®äžã§ã Add ãã¯ãªãã¯ããHandlerã«æž¡ããã©ã¡ãŒã¿ã§ãã endpoint_name ã parameter name ã«è¿œå ããŸãã parameter value ã«ã¯å
ã»ã©äœæãããšã³ããã€ã³ãå (äŸ: llama-fine-tune ) ãèšå®ããŸãã ã³ã³ãããšã€ã³ã¹ã¿ã³ã¹ã¿ã€ãã®èšå®ã¯ããã©ã«ããä¿æããŸãã ãã®ã¹ããããèšå®ããåŸãããžã¥ã¢ã«ãšãã£ã¿ã䜿çšã㊠Deploy model (endpoint) ã¹ãããã Execute code ã¹ãããã«æ¥ç¶ããŸãã ã¹ããã#5: æ¡ä»¶ã¹ããã ã¢ãã«è©äŸ¡ã³ãŒããå®è¡ããåŸã Condition ã¹ãããããšãã£ã¿ã«ãã©ãã°ããŸããæ¡ä»¶ã¹ãããã¯ãäºå®ã«åºã¥ãç¥èè©äŸ¡ã¹ã³ã¢ãæãŸããéŸå€ãè¶
ããå Žåã«ããã¡ã€ã³ãã¥ãŒãã³ã°ããã¢ãã«ã SageMaker Model Registry ã«ç»é²ããŸããã¢ãã«ã®ããã©ãŒãã³ã¹ãéŸå€ãäžåã£ãå Žåãã¢ãã«ã¯ã¢ãã«ã¬ãžã¹ããªã«è¿œå ãããããã€ãã©ã€ã³ã®å®è¡ã¯å€±æããŸãã Details ã¿ãã§ Condition ã¹ãããåã Is LLM factually correct ã«æŽæ°ããŸãã Register model ã¹ããããš Fail ã¹ãããããšãã£ã¿ã«ãã©ãã°ããŸãããããã®ã¹ãããã®èšå®ã¯æ¬¡ã®ã»ã¯ã·ã§ã³ã§è¡ããŸãã Condition ã¹ãããã«æ»ãã Conditions (input) ã«æ¡ä»¶ã远å ããŸãã æåã® String ã« factual_knowledge ãå
¥åããŸãã ãã¹ããšã㊠Greater Than ãéžæããŸãã 2 çªç®ã® String ã« 0.7 ãå
¥åããŸããè©äŸ¡ã¯ãããŒã¿ã»ããå
ã®åããã³ããã«å¯ŸããŠãã€ã㪠(0/1) ã§å€å®ãè¡ãããããã®å€å®çµæã®å¹³åå€ãç®åºããŸãã詳现ã«ã€ããŠã¯ã Factual Knowledge ãåç
§ããŠãã ããã Conditions (output) ã»ã¯ã·ã§ã³ã§ã Then (execute if true) ã§ Register model ãéžæãã Else (execute if false) ã§ Fail ãéžæããŸãã ãã®ã¹ããããèšå®ããåŸãããžã¥ã¢ã«ãšãã£ã¿ã䜿çšã㊠Execute code ã¹ãããã Condition ã¹ãããã«æ¥ç¶ããŸãã Register model ã¹ããããš Fail ã¹ãããã®èšå®ã¯æ¬¡ã®ã»ã¯ã·ã§ã³ã§è¡ããŸãã ã¹ããã#6: ã¢ãã«ã®ç»é² ã¢ãã«ã SageMaker Model Registry ã«ç»é²ããã«ã¯ãã¢ãã«ã® S3 URI ãšã€ã¡ãŒãž URI ãå«ãããã«ã¹ããããèšå®ããå¿
èŠããããŸãã åã®ã»ã¯ã·ã§ã³ã§äœæãã Register model ã¹ãããã«æ»ãããã¡ã€ã³ãã¥ãŒãã³ã°ããã¢ãã«ã®ã¢ãã«ã¢ãŒãã£ãã¡ã¯ããç¶æ¿ããããã«ã Fine-tune ã¹ãããã Register model ã¹ãããã«æ¥ç¶ããŸãã ã¹ããããéžæãã Model (input) ã®äžã® Add ãéžæããŸãã Image ãã£ãŒã«ãã«ã€ã¡ãŒãž URI 763104351884.dkr.ecr.<region_name>. amazonaws.com/djl-inference:0.28.0-lmi10.0.0-cu124 (<region_name>ããªãŒãžã§ã³ã«çœ®ãæã) ãå
¥åããŸããModel URI ãã£ãŒã«ãã§ Step variable ãéžæãã Fine-tuning Model Artifacts ãéžæããŸãã Save ãéžæããŸãã Model group ã®ååãå
¥åããŸãã ã¹ããã#7: Fail ã¹ããã ãã£ã³ãã¹äžã® Fail ã¹ããããéžæããã¢ãã«ãã¢ãã«ã¬ãžã¹ããªã«ç»é²ã§ããªãã£ãå Žåã«è¡šç€ºããã倱æã¡ãã»ãŒãžãå
¥åããŸããäŸ: Model below evaluation threshold. Failed to register. (æ¥æ¬èªèš³: ã¢ãã«ãè©äŸ¡éŸå€ãäžåããŸãããç»é²ã«å€±æããŸããã) ãã€ãã©ã€ã³ã®ä¿åãšå®è¡ ãã€ãã©ã€ã³ã®æ§ç¯ãå®äºãããã Execute ãéžæããå®è¡ã®ååãå
¥åããŠãã€ãã©ã€ã³ãå®è¡ããŸãããã®åŸããã€ãã©ã€ã³ãéžæããŠé²è¡ç¶æ³ã確èªã§ããŸãããã€ãã©ã€ã³ã®å®è¡ã«ã¯ 30 ïœ 40 åããããŸãã LLM ã«ã¹ã¿ãã€ãºãå€§èŠæš¡ã«å®è¡ãã ãã®äŸã§ã¯ãUI ããæåã§ãã€ãã©ã€ã³ã 1 åå®è¡ããŸãããããããSageMaker API ãš SDK ã䜿çšããããšã§ãéåžžã® CI/CD ããã»ã¹ã®äžéšãšããŠãããŸããŸãªãã©ã¡ãŒã¿ (ç°ãªã LLMãç°ãªãããŒã¿ã»ãããç°ãªãè©äŸ¡ã¹ã¯ãªãããªã©) ã§ãã®ãã€ãã©ã€ã³ãè€æ°ãã€åæã«å®è¡ã§ããŸããSageMaker Pipelines ã¯ãAWS ã¢ã«ãŠã³ãå
ã®ãã€ãã©ã€ã³ã®æ°ããã€ãã©ã€ã³å
ã®ã¹ãããæ°ããã€ãã©ã€ã³å®è¡ã®æ°ã«åºã¥ããŠèªåçã«ã¹ã±ãŒã«ã¢ãããŸãã¯ããŠã³ãããããåºç€ãšãªãã€ã³ãã©ã¹ãã©ã¯ãã£ã®å®¹éã管çããå¿
èŠã¯ãããŸãããPipelines ã®ããã©ã«ãã®ã¹ã±ãŒã©ããªãã£å¶éãšããã©ãŒãã³ã¹åäžã®ãªã¯ãšã¹ãã«ã€ããŠã¯ã Amazon SageMaker ã®ãšã³ããã€ã³ããšã¯ã©ãŒã¿ ãåç
§ããŠãã ããã ã¯ãªãŒã³ã¢ãã è¿œå æéãçºçããªãããã«ãSageMaker ã¢ãã«ãšã³ããã€ã³ããåé€ããŸãã ãŸãšã ãã®èšäºã§ã¯ãAmazon SageMaker Pipelines ã®æ°ããããžã¥ã¢ã«ãšãã£ã¿ã䜿çšã㊠Llama 3 ã¢ãã«ããã¡ã€ã³ãã¥ãŒãã³ã°ãããœãªã¥ãŒã·ã§ã³ã解説ããŸãããLLM ããã¡ã€ã³ãã¥ãŒãã³ã°ããããã®ã¹ããããšããã€ãã©ã€ã³ã¹ãããã§ç¬èªã®ã³ãŒããå®è¡ãã Execute code ã¹ãããã玹ä»ããŸãããããžã¥ã¢ã«ãšãã£ã¿ã¯ãAI/ML ã¯ãŒã¯ãããŒãäœæããã³ç®¡çããããã®ãŠãŒã¶ãŒãã¬ã³ããªãŒãªã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŸãããã®æ©èœã䜿çšããããšã§ãå€§èŠæš¡ãªæ¬çªç°å¢ã§è©Šè¡é¯èª€ããããšãªããã¯ãŒã¯ãããŒãè¿
éã«æ¹åã§ããŸãããã®æ°æ©èœã®è©³çްã«ã€ããŠã¯ã Create and Manage Pipelines ãåç
§ããŠãã ããããã²ã詊ãããã ãããã£ãŒãããã¯ããå¯ããã ããïŒ ç¿»èš³ã¯ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã®ç¢æ°žãæ
åœããŸãããåæã¯ ãã¡ã ã§ãã èè
ã«ã€ã㊠Lauren Mullennex 㯠AWS ã®ã·ã㢠AI/ML ã¹ãã·ã£ãªã¹ããœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã§ããDevOpsãã€ã³ãã©ã¹ãã©ã¯ãã£ãæ©æ¢°åŠç¿ã®åéã§10幎ã®çµéšãæã£ãŠããŸããMLOps/LLMOpsãçæ AIãã³ã³ãã¥ãŒã¿ããžã§ã³ãå°éãšããŠããŸãã Brock Wade 㯠Amazon SageMaker ã®ãœãããŠã§ã¢ãšã³ãžãã¢ã§ããã€ã³ãã©ã¹ãã©ã¯ãã£ãDevOpsãã¯ã©ãŠããµãŒãã¹ãSDKãUIã«ãããçµéšã掻ãããMLOpsãLLMOpsãçæ AI ã®ãœãªã¥ãŒã·ã§ã³ãæ§ç¯ããŠããŸãã Piyush Kadam ã¯ãçæ AI éçºè
åãã®ãã«ãããŒãžããµãŒãã¹ã§ãã Amazon SageMaker ã®ãããã¯ããããŒãžã£ãŒã§ããã¹ã¿ãŒãã¢ãããäŒæ¥ã®ã客æ§ãåºç€ã¢ãã«ã®åãæŽ»çšã§ããããæ¯æŽãã補åã®æäŸã«ãããŠãè±å¯ãªçµéšãæã¡ãŸãã