TECH PLAY

エネルギー

イベント

該当するコンテンツが見つかりませんでした

マガジン

技術ブログ

本記事は 2026 年 2 月 23 日 に公開された「 Implement a data mesh pattern in Amazon SageMaker Catalog without changing applications 」を翻訳したものです。 Amazon SageMaker Unified Studio でプロジェクトを作成する際、プロジェクトプロファイルを選択してプロビジョニングするリソースとツールを定義します。Amazon SageMaker Catalog はこれらを使ってデータメッシュパターンを実装します。ただし、プロジェクトと共にプロビジョニングされるリソースを利用したくない場合もあります。たとえば、既存のアプリケーションやデータプロダクトに変更を加えたくない場合などです。 本記事では、現在のデータリポジトリとコンシューマーアプリケーションを変更せずに Amazon SageMaker Catalog でデータメッシュパターンを実装する方法を説明します。 ソリューション概要 本記事では、Amazon SageMaker Catalog 導入前に存在するデータプロデューサーとデータコンシューマーに基づくシナリオをシミュレートします。サンプルデータセットを既存データとしてみなし、AWS Lambda 関数は既存アプリケーションを代替します。実際のデータとワークロードでも同様の構成を利用することが可能です。 次の図は、ソリューションアーキテクチャの主要な構成を示しています。プロデューサーアカウントの Amazon Simple Storage Service (Amazon S3) バケットと AWS Glue Data Catalog で既存のデータリポジトリを表しています。コンシューマーアカウントの Lambda 関数で既存のコンシューマーアプリケーションです。 アーキテクチャで表現されている主要な構成要素は次のとおりです。 Amazon SageMaker ドメインの一部として、プロデューサープロジェクト (プロデューサーアカウント) とコンシューマープロジェクト (コンシューマーアカウント) を作成します。他のリソースとともに、関連付けられたアカウントの各プロジェクトにプロジェクト AWS Identity and Access Management (IAM) ロールが作成されます。 プロデューサーアカウントで、AWS Lake Formation でプロデューサープロジェクトの IAM ロールに既存のデータアセットへのアクセス許可を付与します。 プロデューサープロジェクトから Amazon SageMaker Catalog にデータアセットを公開します。 コンシューマープロジェクトからデータアセットをサブスクライブします。 コンシューマーアカウントで、サブスクライブしたデータアセットにアクセスするために、Lambda 関数がコンシューマープロジェクトの IAM ロールを引き受けるよう設定します。 本アーキテクチャは、次の Amazon Web Services (AWS) のサービスと機能に基づいています。 Amazon SageMaker Catalog でデータと AI を安全に検出、ガバナンス、コラボレーションできます。 Amazon SageMaker Unified Studio はデータを検出して構築するための単一のデータと AI 開発環境です。Amazon SageMaker Unified Studio プロジェクトはデータと AI タスクを実行するための共同作業の境界です。 Amazon SageMaker のレイクハウスアーキテクチャは Apache Iceberg と完全に互換性があります。Amazon S3 データレイク、Amazon Redshift データウェアハウス、サードパーティおよびフェデレーテッドデータソース全体でデータを統合します。 AWS Lake Formation で分析と機械学習のためにデータを一元的にガバナンス、保護、共有できます。 AWS Glue Data Catalog は、データアセットの永続的なメタデータストアです。テーブル定義、ジョブ定義、スキーマ、その他の制御情報が含まれており、AWS Glue 環境の管理に役立ちます。 Amazon S3 は業界をリードするスケーラビリティ、データ可用性、セキュリティ、パフォーマンスを備えたオブジェクトストレージサービスです。 リソースのセットアップ このセクションでは、ソリューションに必要なリソースと設定を準備します。 3 つの AWS アカウント このソリューションを実行するには 3 つの AWS アカウントが必要で、AWS Organizations の同じ組織に属している必要があります。 プロデューサーアカウント – 公開するデータアセットをホストします コンシューマーアカウント – プロデューサーアカウントから公開されたデータを消費するアプリケーションをホストします ガバナンスアカウント – Amazon SageMaker Unified Studio ドメインを設定する場所です 各アカウントには、2 つの異なるアベイラビリティーゾーンに少なくとも 2 つのプライベートサブネットを持つ Amazon Virtual Private Cloud (Amazon VPC) が必要です。手順については、「 VPC とその他の VPC リソースを作成する 」を参照してください。このソリューションを適用する予定のリージョンで両方の VPC を作成してください。 この例では、独立したガバナンスアカウントを利用していますが、Amazon SageMaker はプロデューサーアカウントまたはコンシューマーアカウントで設定および管理できるため、厳密には必須ではありません。3 つのアカウントを用意できないケースでも、本記事を使用して、現在のデータリポジトリとコンシューマーアプリケーションを変更せずに Amazon SageMaker Catalog でデータメッシュパターンを実装するために必要な主要な設定を理解できます。 プロデューサーアカウントでデータリポジトリを作成する まず、次の手順に従ってサンプルデータセットを作成します。 テキストエディタを開きます。 新しいファイルに次のテキストを貼り付けます。 name,stars oak,3 maple,2 birch,3 willow,4 pine,5 mango,1 neem,2 banyan,5 eucalyptus,3 teak,2 ファイルを trees.csv として保存します。これがサンプルデータファイルです。 サンプルデータセットを作成したら、プロデューサーアカウントに S3 バケットと AWS Glue データベースを作成します。これがデータリポジトリです。 プロデューサーアカウントで S3 バケットを作成し、 trees.csv ファイルをアップロードします。 プロデューサーアカウントで S3 コンソールにアクセスします。 S3 バケットを作成します。手順については、「 汎用バケットの作成 」を参照してください。 作成した trees.csv サンプルデータファイルを S3 バケットにアップロードします。手順については、「 オブジェクトのアップロード 」を参照してください。 プロデューサーアカウントで AWS Glue データベースとテーブルを作成します。 プロデューサーアカウントで Glue コンソールにアクセスします。 ナビゲーションペインの Data Catalog で、 Databases を選択します。 Add database を選択します。 Name に collections と入力します。 Description に This database contains collections of statistics for natural resources と入力します。 Create database を選択します。 ナビゲーションペインの Data Catalog で、 Tables を選択します。 Add table を選択します。 テーブル作成のガイド付き手順で、 Step 1: Set table properties に次の入力を行います。 Name に trees と入力します。 Database で collections を選択します。 Description に This table captures ratings data related to the characteristics of various tree species と入力します。 Table format で Standard AWS Glue table (default) を選択します。 Select the type of source で S3 を選択します。 Data location is specified in で my account を選択します。 Include path に s3://<bucket-name>/<prefix>/ と入力します。 <bucket-name> は前の手順で作成した S3 バケットの名前、 <prefix> はアップロードした trees.csv ファイルのオプションのプレフィックスです。 Data format で CSV を選択します。 Delimeter で Comma (,) を選択します。 Next を選択します。 Step 2: Choose or define schema で次のように入力します。 Schema で Define or upload a schema を選択します。 Edit schema as JSON を選択し、ポップアップに次のスキーマを入力します。 [ { "Name": "name", "Type": "string", "Parameters": {} }, { "Name": "stars", "Type": "string", "Parameters": {} } ] Save を選択します。 Next を選択します。 Create を選択します。 コンシューマーアカウントで Lambda 関数を作成する コンシューマーアカウントで Lambda 関数を作成します。データコンシューマーアプリケーションをシミュレートします。まず、コンシューマーアカウントで Lambda 関数に割り当てる IAM ポリシーと IAM ロールを作成します。 コンシューマーアカウントで IAM コンソールにアクセスします。 次のポリシーを使用して IAM ポリシーを作成し、 smus_consumer_athena_execution という名前を付けます。プレースホルダー <AWS_Region> と <AWS_account_ID_number> をリージョンとコンシューマーアカウント ID 番号に置き換えてください。 <workgroup_id> プレースホルダーは後で置き換えます。IAM ポリシー作成の手順については、「 IAM ポリシーの作成 (コンソール) 」を参照してください。 { "Version": "2012-10-17", "Statement": [ { "Sid": "AthenaExecution", "Action": [ "athena:StartQueryExecution", "athena:GetQueryExecution", "athena:GetQueryResults" ], "Effect": "Allow", "Resource": "arn:aws:athena:<AWS_Region>:<AWS_account_ID_number>:workgroup/<workgroup_id>" } ] } AWS Lambda サービス用の IAM ロールを作成し、 smus_consumer_lambda という名前を付けます。AWS マネージドアクセス許可 AWSLambdaBasicExecutionRole と、作成したばかりの smus_consumer_athena_execution という名前のアクセス許可を割り当てます。手順については、「 AWS サービスにアクセス許可を委任するロールの作成 」を参照してください。 Lambda 関数の IAM ロールが配置されたら、コンシューマーアカウントで Lambda 関数を作成できます。 コンシューマーアカウントで Lambda コンソールにアクセスします。 ナビゲーションペインで Functions を選択します。 Create function を選択し、次の情報を入力します。 Function name に consumer_function と入力します。 Runtime で Python 3.14 を選択します。 Change default execution role セクションを展開します。 Execution role で Use an existing role を選択します。 Existing role で smus_consumer_lambda を選択します。 Create function を選択します。 Code タブの Code source で、既存のコードを次のコードに置き換えます。 import boto3 import time sts_client = boto3.client('sts') role_arn = "<role_arn>" session_name = "AthenaQuerySession" catalog = "AwsDataCatalog" database = "<database_name>" workgroup = "<workgroup_id>" query = "select * from "+catalog+"."+database+".trees" def lambda_handler(event, context): # Assume SageMaker Unified Studio project role assumed_role_object = sts_client.assume_role( RoleArn=role_arn, RoleSessionName=session_name ) # Get temporary credentials credentials = assumed_role_object['Credentials'] # Create Athena client using temporary credentials athena = boto3.client( 'athena', aws_access_key_id=credentials['AccessKeyId'], aws_secret_access_key=credentials['SecretAccessKey'], aws_session_token=credentials['SessionToken'], region_name='eu-west-1' ) # Execute Athena Query response = athena.start_query_execution( QueryString=query, QueryExecutionContext={ 'Database': database, 'Catalog': catalog }, WorkGroup=workgroup ) query_execution_id = response['QueryExecutionId'] # Polling with exponential backoff wait_time = 0.25 # Start with 0.25 seconds max_wait = 8 # Maximum wait time of 8 seconds while True: result = athena.get_query_execution(QueryExecutionId=query_execution_id) state = result['QueryExecution']['Status']['State'] if state in ['FAILED', 'CANCELLED']: raise Exception(f"Query {state}") elif state == 'SUCCEEDED': break elif state in ['QUEUED', 'RUNNING']: time.sleep(wait_time) wait_time = min(wait_time * 2, max_wait) # Double wait time, cap at max_wait # Retrieve results results = athena.get_query_results(QueryExecutionId=query_execution_id) return results Deploy を選択します。 Lambda 関数に提供されたコードには、後で必要な情報を入手した後に置き換えるプレースホルダーがいくつか含まれています。プレースホルダーをまだ置き換えていないので、この時点では Lambda 関数をテストしないでください。 管理者アクセス権を持つユーザーを作成する Amazon SageMaker Unified Studio は、AWS IAM Identity Center ベースのドメインと IAM ベースのドメインという 2 つの異なるドメインタイプをサポートしています。本記事の執筆時点では、IAM Identity Center ベースのドメインのみが複数アカウントの関連付けをサポートしているため、本記事では IAM Identity Center を必要とするこのタイプのドメインを使用します。 ガバナンスアカウントで、IAM Identity Center を有効にし、Amazon SageMaker Unified Studio ドメインを作成および管理する管理ユーザーを作成します。管理者アクセス権を持つユーザーを作成します。 ガバナンスアカウントで IAM Identity Center を有効にします。手順については、「 IAM Identity Center の有効化 」を参照してください。 ガバナンスアカウントの IAM Identity Center で、ユーザーに管理者アクセス権を付与します。IAM Identity Center ディレクトリを ID ソースとして使用するチュートリアルについては、「 デフォルトの IAM Identity Center ディレクトリでユーザーアクセスを設定する 」を参照してください。 管理者アクセス権を持つユーザーとしてサインインします。 IAM Identity Center ユーザーでサインインするには、IAM Identity Center ユーザーを作成したときにメールアドレスに送信されたサインイン URL を使用します。IAM Identity Center ユーザーを使用したサインインのヘルプについては、「 AWS アクセスポータルにサインインする 」を参照してください。 SageMaker Unified Studio ドメインを作成する ガバナンスアカウントで Amazon SageMaker Unified Studio ドメインを作成するには、「 Amazon SageMaker Unified Studio ドメインの作成 – クイックセットアップ 」を参照してください。 ドメインが作成されたら、Amazon SageMaker Unified Studio ポータル (Web アプリケーション) に移動できます。ポータルでは分析と AI のためにデータと設定されたツールを使用できます。後で使用するため、Amazon SageMaker Unified Studio ポータルの URL を保存してください。 ソリューションの手順 前提条件が整ったので、次の 10 個の手順でソリューションを実装できます。 プロデューサーアカウントとコンシューマーアカウントを Amazon SageMaker Unified Studio ドメインに関連付ける まず、プロデューサーアカウントとコンシューマーアカウントを新しく作成した Amazon SageMaker Unified Studio ドメインに関連付けます。プロデューサーアカウントとコンシューマーアカウントをドメインに関連付ける際は、 AWS RAM share managed permission セクションで IAM users and roles can access APIs and IAM users can log in to Amazon SageMaker Unified Studio を選択してください。ステップバイステップの手順については、「 Amazon SageMaker Unified Studio の関連アカウント 」を参照してください。AWS アカウントが同じ組織に属している場合、関連付けリクエストは自動的に承認されます。ただし、AWS アカウントが同じ組織に属していない場合は、ガバナンスアカウントで他の AWS アカウントとの関連付けをリクエストし、プロデューサーアカウントとコンシューマーアカウントの両方で関連付けリクエストを承認します。 2 つのプロジェクトプロファイルを作成する 次に、プロデューサープロジェクト用とコンシューマープロジェクト用の 2 つのプロジェクトプロファイルを作成します。 Amazon SageMaker Unified Studio では、プロジェクトプロファイルは Amazon SageMaker ドメイン内のプロジェクトの上位テンプレートを定義します。プロジェクトプロファイルは、プロジェクトリソースの作成に使用される再利用可能な AWS CloudFormation テンプレートを提供するブループリントのコレクションです。 プロジェクトプロファイルは特定の AWS アカウントに関連付けられます。つまり、プロジェクトが作成されると、プロジェクトプロファイルにリストされているブループリントが関連付けられた AWS アカウントにデプロイされます。プロジェクトプロファイルを使用するには、プロジェクトプロファイルに関連付けられた AWS アカウントでブループリントを有効にする必要があります。 プロデューサープロジェクトプロファイルを作成する プロデューサーアカウントに関連付けられたプロデューサープロジェクトプロファイルを作成します。このプロジェクトプロファイルでプロデューサープロジェクトを作成します。このプロファイルには、IAM ユーザーロールやセキュリティグループなどのプロジェクトリソースを作成する Tooling ブループリントがデフォルトで含まれています。 プロジェクトプロファイルを作成する前に、次の手順を使用してプロデューサーアカウントで Tooling ブループリントを有効にします。 プロデューサーアカウントで SageMaker コンソールにアクセスします。 ナビゲーションペインで Associated domains を選択します。 セットアップ中に作成したドメインを選択します。 Blueprints タブで、 Tooling blueprint セクションの Enable を選択します。次の画像を参照してください。 Virtual private cloud (VPC) でアカウントの VPC を選択します。 Subnets で、異なるアベイラビリティーゾーンの少なくとも 2 つのサブネットを選択します。 Enable blueprint を選択します。 ガバナンスアカウントでプロジェクトプロファイルの作成に進みます。 ガバナンスアカウントで SageMaker コンソールにアクセスします。 ナビゲーションペインで Domains を選択します。 前提条件の一部として作成したドメインを選択します。 Project profiles タブで Create を選択し、次の情報を入力します。 Project profile name に producer-project-profile と入力します。 Project profile creation options で Custom create を選択します。 Blueprints でブループリントを選択しないでください。 Tooling ブループリントはすべてのプロジェクトプロファイルにデフォルトで含まれているためです。 Account で Provide an account ID を選択します。 Account ID にプロデューサーアカウント ID を入力します。 Region で Provide region name を選択し、作業しているリージョンを選択します。 Authorization で Allow all users and groups を選択します。 Project profile readiness で Enable project profile on creation を選択します。 Create project profile を選択します。 コンシューマープロジェクトプロファイルを作成する コンシューマープロジェクトプロファイルも作成し、コンシューマーアカウントに関連付けます。このプロファイルでコンシューマープロジェクトを作成します。コンシューマープロジェクトプロファイルには、データ管理用の AWS Glue データベースとクエリ用の Amazon Athena ワークグループを備えたレイクハウス環境を作成するために必要な LakeHouseDatabase ブループリントが含まれています。 Tooling ブループリントはプロジェクトプロファイルにデフォルトで含まれています。 プロジェクトプロファイルを作成する前に、コンシューマーアカウントで Tooling と LakeHouseDatabase ブループリントを有効にします。 コンシューマーアカウントで SageMaker コンソールにアクセスします。 ナビゲーションペインで Associated domains を選択します。 前提条件の一部として作成したドメインを選択します。 Blueprints タブで、 Tooling blueprint セクションの Enable を選択します。 Virtual private cloud (VPC) でアカウントの VPC を選択します。 Subnets で、異なるアベイラビリティーゾーンの少なくとも 2 つのサブネットを選択します。 Enable blueprint を選択します。 ナビゲーションペインで Associated domains を選択します。 前提条件の一部として作成したドメインを選択します。 Blueprints タブで LakeHouseDatabase ブループリントを選択します。 Enable を選択します。 Enable blueprint を選択します。 コンシューマーアカウントでブループリントが有効になったら、プロジェクトプロファイルの作成に進むことができます。 ガバナンスアカウントで SageMaker コンソールにアクセスします。 ナビゲーションペインで Domains を選択します。 前提条件の一部として作成したドメインを選択します。 Project profiles タブで Create を選択し、次の情報を入力します。 Project profile name に consumer-project-profile と入力します。 Project profile creation options で Custom create を選択します。 Blueprints で LakeHouseDatabase を選択します。 Account で Provide an account ID を選択します。 Account ID にコンシューマーアカウント ID を入力します。 Region で Provide region name を選択し、作業しているリージョンを選択します。 Authorization で Allow all users and groups を選択します。 Project profile readiness で Enable project profile on creation を選択します。 Create project profile を選択します。 SageMaker Unified Studio のプロデューサープロジェクトとコンシューマープロジェクトを作成する Amazon SageMaker Unified Studio では、プロジェクトはドメイン内の境界であり、他のユーザーと協力してビジネスユースケースに取り組むことができます。プロジェクトでは、データとリソースを作成して共有できます。Amazon SageMaker Unified Studio でプロデューサープロジェクトとコンシューマープロジェクトを作成するには、次の手順を使用します。 Amazon SageMaker Unified Studio ポータルにアクセスします。 Select a project ドロップダウンリストを選択します。 Create project を選択し、次の情報を入力します。 Project name に Producer と入力します。 Project profile で producer-project-profile を選択します。 Continue を選択します。 Continue を選択します。 Create project を選択します。 Producer プロジェクトを作成したら、 Project overview に表示される Project role ARN をテキストファイルにメモします。次の画像を参照してください。プロジェクトロール名は、プロジェクトロール Amazon Resource Name (ARN) の arn:aws:iam::<account_ID>:role/ に続く文字列です。プロジェクトロール名と ARN の両方を後で使用します。 前の手順を繰り返して Consumer プロジェクトを作成します。 Project name に Consumer と入力し、 Project profile で consumer-project-profile を選択してください。作成後、 Project role ARN をテキストファイルにメモします。プロジェクトロール名は、プロジェクトロール ARN の arn:aws:iam::<account_ID>:role/ に続く文字列です。プロジェクトロール名と ARN の両方を後で使用します。 プロデューサーアカウントから独自データを持ち込む Amazon SageMaker Unified Studio の Producer プロジェクトに独自のデータを持ち込み(取り込み)ます。AWS はこれを実現するためのいくつかのオプションを提供しています。最初のオプションは Amazon SageMaker レイクハウスでの自動オンボーディング(導入)で、データセットの Amazon SageMaker レイクハウスメタデータを Amazon SageMaker Catalog に取り込みます。このオプションでは、新しい Amazon SageMaker Unified Studio ドメインの作成の一部として、または既存のドメインに対して Amazon SageMaker レイクハウスデータをオンボードできます。 Amazon SageMaker レイクハウスデータの自動オンボーディングの詳細については、「 Amazon SageMaker Unified Studio でのデータのオンボーディング 」を参照してください。他のオプションとして、プロジェクトの Data ページと Compute ページを使用するか、GitHub で提供されているスクリプトを使用して、既存のリソースを Amazon SageMaker Unified Studio プロジェクトに持ち込むことができます。 Data ページと Compute ページの使用、またはスクリプトの使用の詳細については、「 既存のリソースを Amazon SageMaker Unified Studio に持ち込む 」を参照してください。本記事では、Amazon SageMaker レイクハウス機能を使用して trees AWS Glue テーブルを Producer プロジェクトにインポートします。 テーブルの Amazon S3 ロケーションを登録する trees テーブルへのきめ細かいアクセス制御に Lake Formation アクセス許可を使用するには、 trees テーブルの Amazon S3 ロケーションを Lake Formation に登録する必要があります。次のアクションを実行します。 プロデューサーアカウントで Lake Formation コンソールにアクセスします。 ナビゲーションペインの Administration で、 Data lake locations を選択します。 Register location を選択し、次の情報を入力します。 S3 URI に s3://<bucket-name>/<prefix>/ と入力します。 <bucket-name> は前提条件で作成した S3 バケットの名前、 <prefix> は前提条件の一部としてアップロードした trees.csv ファイルのオプションのプレフィックスです。 IAM role で AWSServiceRoleForLakeFormationDataAccess を選択します。 Permission mode で Lake Formation を選択します。 Register location を選択します。 Producer プロジェクトロールにデータベースのアクセス許可を付与する Producer プロジェクトに関連付けられた IAM ロールにデータベースアクセスを付与します。このロールはプロジェクトロールと呼ばれ、プロジェクト作成時に IAM で作成されました。 Amazon SageMaker Unified Studio の Producer プロジェクトから AWS Glue Data Catalog の collections データベースにアクセスするには、次のアクションを実行します。 プロデューサーアカウントで Lake Formation コンソールにアクセスします。 ナビゲーションペインの Data Catalog で、 Databases を選択します。 collections データベースを選択します。 Actions メニューから Grant を選択し、次の情報を入力します。 IAM users and roles で、 Producer プロジェクトのロール名を選択します。これは、ステップ 3「SageMaker Unified Studio のプロデューサープロジェクトとコンシューマープロジェクトを作成する」でメモした Producer プロジェクトロール ARN の一部である datazone_usr_role_ で始まる文字列です。 Database permissions で Describe を選択します。 Grant を選択します。 Producer プロジェクトロールにテーブルのアクセス許可を付与する Producer プロジェクトに関連付けられた IAM ロールに trees テーブルアクセスを付与します。これらのアクセス許可を付与するには次の手順に従います。 プロデューサーアカウントで Lake Formation コンソールにアクセスします。 ナビゲーションペインの Data Catalog で、 Tables and MVs を選択します。 trees テーブルを選択します。 Actions メニューから Grant を選択し、次の情報を入力します。 IAM users and roles で、 Producer プロジェクトのロールを選択します。これは、ステップ 3「SageMaker Unified Studio のプロデューサープロジェクトとコンシューマープロジェクトを作成する」でメモした Producer プロジェクトロール ARN の一部である datazone_usr_role_ で始まる文字列です。 Table permissions で Select と Describe を選択します。 Grantable permissions で Select と Describe を選択します。 Grant を選択します。 IAMAllowedPrincipals の既存のアクセス許可を取り消す アクセスに Lake Formation アクセス許可を適用するには、データベースとテーブルの両方で IAMAllowedPrincipals グループのアクセス許可を取り消す必要があります。詳細については、「 Lake Formation コンソールを使用したアクセス許可の取り消し 」を参照してください。 プロデューサーアカウントで Lake Formation コンソールにアクセスします。 ナビゲーションペインの Permission で、 Data permissions を選択します。 Principal が IAMAllowedPrincipals に設定され、 Resource が collections または trees に設定されているエントリを選択します。次の画像を参照してください。 Revoke を選択します。 revoke と入力します。 再度 Revoke を選択します。 Producer プロジェクトでデータが利用可能であることを確認する Producer プロジェクトで collections データベースと trees テーブルにアクセスできることを確認します。 Amazon SageMaker Unified Studio ポータルにアクセスします。 Select a project ドロップダウンメニューを選択し、 Producer プロジェクトを選択します。 ナビゲーションペインの Overview で、 Data を選択します。 Lakehouse を選択します。 AwsDataCatalog を選択します。 collections を選択します。 tables を選択します。 trees テーブルの横にある 3 点アクションメニューを選択し、 Preview data を選択します。次の画像を参照してください。 次の画像に示すように、 trees テーブルのデータが表示されます。 Amazon SageMaker Catalog アセットを作成する プロジェクトでアクセス可能であっても、Amazon SageMaker Catalog で trees テーブルを操作するには、データソースを登録して Amazon SageMaker Catalog アセットを作成する必要があります。 Amazon SageMaker Unified Studio ポータルにアクセスします。 Select a project ドロップダウンリストを選択し、 Producer プロジェクトを選択します。 プロジェクトページのナビゲーションペインの Project catalog で、 Data sources を選択します。 Create Data Source を選択し、次のように選択します。 Name に collections と入力します。 Data source type で AWS Glue (Lakehouse) を選択します。 Database name で collections を選択します。 Next を選択します。 Next を選択します。 Next を選択します。 Create を選択します。 データソースが作成されたら、 collections データソースページで Run を選択します。これによりメタデータがインポートされ、Amazon SageMaker Catalog アセットが作成されます。 collections データソースの Data source runs タブで、実行が Completed とマークされ、 trees アセットが Successfully created と表示されます。次の画像を参照してください。 Amazon SageMaker Catalog でデータアセットを公開する データアセットを手動で公開することは、他のユーザーがカタログを通じてデータアセットにアクセスできるようにするために実行する必要がある 1 回限りの操作です。 Amazon SageMaker Unified Studio ポータルにアクセスします。 Select a project ドロップダウンリストを選択し、 Producer プロジェクトを選択します。 プロジェクトページの Project catalog で、 Assets を選択します。 Inventory タブで利用可能な trees データアセットを選択します。次の画像を参照してください。 (オプション) データソースの作成時に自動メタデータ生成が有効になっている場合、アセットのメタデータ (アセットのビジネス名など) を確認して承認または拒否できます。 Automated Metadata Generation バナーで Accept All または Reject All を選択できます。 Publish Asset を選択します。次の画像を参照してください。 Publish Asset を選択します。 Amazon SageMaker Catalog でデータアセットをサブスクライブする Consumer プロジェクトでデータアセットを消費するには、サブスクリプションリクエストを作成してデータアセットをサブスクライブします。 Amazon SageMaker Unified Studio ポータルにアクセスします。 Select a project ドロップダウンリストを選択し、 Consumer プロジェクトを選択します。 Discover メニューで Catalog を選択します。 検索ボックスに trees と入力し、検索から返されたデータアセットを選択します。ステップ 7「Amazon SageMaker Catalog でデータアセットを公開する」で Automated Metadata Generation バナーの Accept All を選択した場合、データアセットには自動メタデータ推奨機能によって生成された別のビジネス名が付けられます。データアセットのテクニカルネームは trees です。次の画像を参照してください。 Subscribe を選択します。 Comment に、 This data asset is needed for model training purposes などの正当な理由を入力します。 再度 Subscribe を選択します。 デフォルトでは、アセットサブスクリプションリクエストにはデータ所有者による手動承認が必要です。ただし、 Consumer プロジェクトのリクエスターが Producer プロジェクトのメンバーでもある場合、サブスクリプションリクエストは自動的に承認されます。サブスクリプションリクエストの承認の詳細については、「 Amazon SageMaker Unified Studio でサブスクリプションリクエストを承認または拒否する 」を参照してください。 サブスクライブしたデータアクセスにアクセスするように Lambda IAM ロールを設定する Lambda 関数がサブスクライブしたデータアセットにアクセスできるようにするには、Lambda 関数が Consumer プロジェクトロールを引き受けることを許可する必要があります。 Consumer プロジェクトの IAM ロール信頼関係を編集します。 コンシューマーアカウントで IAM コンソールに移動します。 ナビゲーションペインの Access management で、 Roles を選択します。 Consumer プロジェクトの IAM ロールを選択します。これは、ステップ 3「SageMaker Unified Studio のプロデューサープロジェクトとコンシューマープロジェクトを作成する」でメモした Consumer プロジェクトロール ARN の一部である datazone_usr_role_ で始まる文字列です。 Trust relationships タブで、 Edit trust policy を選択します。 バックアップのため、既存の信頼ポリシーのコピーをテキストファイルに作成します。 Edit trust policy ウィンドウで、信頼ポリシーの他の既存のステートメントを削除または上書きしないようにしつつ、次のステートメントを既存の信頼ポリシーに追加します。プレースホルダー <account_id> をコンシューマー AWS アカウント ID に置き換えてください。 { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<account_id>:role/smus_consumer_lambda" }, "Action": [ "sts:AssumeRole" ] } Update policy を選択します。 サブスクライブしたデータアセットへの Lambda 関数のアクセスをテストする Lambda 関数をテストする前に、関数コードと IAM ポリシーのプレースホルダーを置き換える必要があります。置き換える必要があるプレースホルダーは 3 つあります: <role_arn> 、 <database_name> 、 <workgroup_id> です。 <role_arn> については、ステップ 3「SageMaker Unified Studio のプロデューサープロジェクトとコンシューマープロジェクトを作成する」でメモした Consumer プロジェクトのロール ARN という実際の値がすでにあります。次のセクションでは、他のプレースホルダーの値を取得する手順を説明します。 AWS Glue Data Catalog データベース名を取得する Consumer プロジェクトと共に作成された AWS Glue Data Catalog データベースの名前を取得します。次に、この値を使用して consumer_function Lambda 関数コードの <database_name> プレースホルダーを置き換えます。AWS Glue Data Catalog データベース名を取得するには、次の手順に従います。 Amazon SageMaker Unified Studio ポータルにアクセスします。 Select a project ドロップダウンリストを選択し、 Consumer プロジェクトを選択します。 プロジェクトページの Overview で、 Data を選択します。 Lakehouse を選択します。 AwsDataCatalog を選択します。 データベースの名前をコピーします。次の画像のように、 glue_db で始まる英数字の文字列である必要があります。 Athena ワークグループ ID を取得する Consumer プロジェクトと共に作成された Athena ワークグループの ID を取得します。次に、この値を使用して consumer_function Lambda 関数コードと smus_consumer_athena_execution IAM ポリシーの <workgroup_id> プレースホルダーを置き換えます。Athena ワークグループ ID を取得するには、次の手順を使用します。 Amazon SageMaker Unified Studio ポータルにアクセスします。 Select a project ドロップダウンリストを選択し、 Consumer プロジェクトを選択します。 プロジェクトページの Overview で、 Compute を選択します。 SQL analytics タブで project.athena を選択します。次の画像を参照してください。 Workgroup ARN をコピーしてテキストファイルに保存します。Athena ワークグループ ID は、Workgroup ARN の arn:aws:athena:<region>:<account_ID>:workgroup/ に続く文字列です。 smus_consumer_athena_execution IAM ポリシーのプレースホルダーを置き換える smus_consumer_athena_execution IAM ポリシーの <workgroup_id> プレースホルダーを置き換えるには、次の手順を使用します。 コンシューマーアカウントで IAM コンソールにアクセスします。 ナビゲーションペインで Policies を選択します。 検索フィールドに smus_consumer_athena_execution と入力します。 smus_consumer_athena_execution ポリシーを選択します。 Edit を選択します。 <workgroup_id> を前にメモした値に置き換えます。 Next を選択します。 Save changes を選択します。 Lambda 関数コードのプレースホルダーを置き換えてテストする consumer_function Lambda 関数コードの <role_arn> 、 <database_name> 、 <workgroup_id> プレースホルダーを置き換え、 trees テーブルのデータにアクセスする関数の機能をテストします。 コンシューマーアカウントで Lambda コンソールにアクセスします。 ナビゲーションペインで Functions を選択します。 consumer_function を選択します。 Code タブで、 <role_arn> 、 <database_name> 、 <workgroup_id> プレースホルダーを前にメモした各値に置き換えます。 Deploy を選択します。 Test タブで、 Event name に mytest と入力します。 Test を選択します。 実行が完了した後に表示される Executing function というタイトルの緑色のバナーで Details を選択します。 実行ログに trees テーブルの内容が報告されます。次の画像を参照してください。 Lambda 関数の実行がタイムアウトで失敗する場合は、次のように関数のタイムアウト設定を変更します。 コンシューマーアカウントで Lambda コンソールにアクセスします。 ナビゲーションペインで Functions を選択します。 consumer_function を選択します。 Configuration タブで Edit を選択します。 Timeout に 15 秒以上の値を入力します。 Save を選択します。 タイムアウトを増やした後、関数を再度テストします。 クリーンアップ 作成したリソースが不要になった場合は、追加料金が発生しないように削除してください。まず、ガバナンスアカウントで Amazon SageMaker Unified Studio ドメインを削除します。詳細については、「ドメインの削除」を参照してください。 プロデューサーアカウントから AWS Glue collections データベースを削除するには、次の手順に従います。 プロデューサーアカウントで Glue コンソールにアクセスします。 ナビゲーションペインの Data Catalog で、 Databases を選択します。 collections データベースを選択します。 Delete を選択します。 Delete を選択します。 プロデューサーアカウントから S3 バケットを削除するには、バケットを空にしてからバケットを削除できます。バケットを空にする方法については、「 汎用バケットを空にする 」を参照してください。バケットの削除については、「 汎用バケットの削除 」を参照してください。 コンシューマーアカウントから Lambda 関数を削除するには、次の手順に従います。 コンシューマーアカウントで Lambda コンソールにアクセスします。 ナビゲーションペインで Functions を選択します。 consumer_function Lambda 関数を選択します。 Actions メニューを選択し、 Delete function を選択します。 confirm と入力します。 Delete を選択します。 クリーンアップの最後に、コンシューマーアカウントで smus_consumer_lambda という名前の IAM ロールを削除し、次に smus_consumer_athena_execution という名前の IAM ポリシーを削除します。IAM ロールの削除については、「 ロールまたはインスタンスプロファイルの削除 」を参照してください。IAM ポリシーの削除については、「 IAM ポリシーの削除 」を参照してください。 まとめ 本記事では、既存のアプリケーションとデータリポジトリを再設計せずに、データガバナンスのために Amazon SageMaker Catalog を採用する方法について説明しました。Amazon SageMaker Unified Studio で既存のデータをオンボードし、カタログで公開し、Amazon SageMaker Unified Studio プロジェクトのコンテキスト外にデプロイされたリソースからデータをサブスクライブして利用する方法を説明しました。このソリューションは、Amazon SageMaker Catalog でデータメッシュパターンの実装を加速し、組織内でデータを安全に公開、検索、アクセスするのに役立ちます。 詳細については、「 Amazon SageMaker とは 」を参照し、 Amazon SageMaker ワークショップ を実行して、データ、分析、AI の統合エクスペリエンスを試してください。 著者について Paolo Romagnoli Paolo は、AWS のエネルギーおよび公益事業向け Senior Solutions Architect です。エンタープライズソリューションの設計と構築に 20 年以上の経験があり、グローバルなエネルギー企業と協力して、ビジネスと技術のニーズに対応するソリューションを設計しています。テクノロジーに情熱を持ち、ランニングを楽しんでいます。 Joel Farvault Joel は、AWS の Principal Specialist SA Analytics で、エンタープライズアーキテクチャ、データガバナンス、分析に 25 年の経験があります。その経験を活用して、データ戦略と技術基盤についてお客様にアドバイスしています。 この記事は Kiro が翻訳を担当し、Solutions Architect の Akira Shimosako がレビューしました。
近年、EUではOTセキュリティに関する法制度の整備が急速に進んでいます。 2025年6月に参加した Interop Tokyo 2025 では、OTセキュリティ関連の展示において、欧州サイバーレジリエンス法(CRA)や NIS2指令といった制度への言及が数多く見られたことが印象的でした。展示内容をきっかけに調べると、EUではCRAやNIS2指令の制定を通じて、制御システムのセキュリティ対策を法的義務として位置づけ始めていました。一方で、日本では経済産業省のガイドラインを軸とした自主的な取り組みが中心であることが分かりました。 今回は、2本の記事に分けてEUと日本におけるOTセキュリティの
はじめに こんにちは、AIチームの村田( @em_portero )です。 1月に AAAI-2026 (The 40th Annual AAAI Conference on Artificial Intelligence)に参加してきました。 本記事はその参加報告となります。 AAAI2026 学会概要 AAAI(Annual AAAI Conference on Artificial Intelligence)は2026年大会で第40回を迎える人工知能全般の研究が発表される国際会議です。 今年は1月20日から1月27日までシンガポールで開催されました。北米以外での開催は初めてだったようです。 論文投稿数は過去最多の23,680件で、採択数は約4,000件でした(採択率:17.6%)。 投稿数と採択数の推移。 OpenAccept より引用。 私は、学生時代に始めてサイバーエージェントの ゼミ制度 で継続していた論文が採択されたため、今回参加しました ( プレスリリース )。 学会の雰囲気 会場はSingapore EXPOという空港からすぐ近くの(市街地からは遠い)コンベンションセンターでした。 ポスターセッションではポスターだけ設置して発表者が不在のこともかなり多く、国内会議との雰囲気の違いを感じました 🫠 とはいえ、そもそも参加者数もかなり多く、Oral / Poster ともにかなり賑わっていました。 会場の外観 メインホール レセプションパーティはExpoから離れた動物園で開催され、炊き出しのような雰囲気でした。 レセプションパーティ会場 食事受け取り 会場内ではロボットも歩いていました。 廊下を歩くロボット 論文 傾向分析 AAAI-2026では4,000件ほどの論文が発表されました。 簡単に2024年から2026年の変化を分析すると以下のような傾向が見えました。 マルチモーダル化: multimodal , vision , multi が全期間で増加傾向。 推論能力への注目: reasoning が2024→2026で+0.50%, 2025→2026で+0.44%と急激に増加。 agent も増加傾向。 Transformer などのデファクト化: neural , deep , networks , transformer が減少。 評価の重視: benchmark , benchmarking が増加。モデルの性能が成熟し始めているか。 Main conference に採択された論文のタイトルから単語の出現割合を分析した結果を以下に示します。 年別のWord Clouds 2024 2025 2026 出現割合増減詳細 2024年→2025年で増加した単語 単語 件数(2024) 件数(2025) 増減(件数) 比率(2024) 比率(2025) 増減(比率) models 183 386 203 0.76% 1.27% 0.51% language 165 342 177 0.69% 1.12% 0.44% large 101 257 156 0.42% 0.84% 0.42% llm 13 91 78 0.05% 0.30% 0.24% multimodal 53 124 71 0.22% 0.41% 0.19% multi 289 415 126 1.20% 1.36% 0.16% efficient 95 168 73 0.40% 0.55% 0.16% llms 14 61 47 0.06% 0.20% 0.14% model 169 254 85 0.70% 0.83% 0.13% mamba 0 38 38 0.00% 0.12% 0.12% diffusion 129 200 71 0.54% 0.66% 0.12% alignment 40 86 46 0.17% 0.28% 0.12% generation 104 167 63 0.43% 0.55% 0.12% framework 81 134 53 0.34% 0.44% 0.10% ai 52 97 45 0.22% 0.32% 0.10% enhancing 46 89 43 0.19% 0.29% 0.10% medical 15 47 32 0.06% 0.15% 0.09% semantic 65 109 44 0.27% 0.36% 0.09% free 38 72 34 0.16% 0.24% 0.08% adaptive 77 121 44 0.32% 0.40% 0.08% recommendation 34 66 32 0.14% 0.22% 0.08% state 9 34 25 0.04% 0.11% 0.07% forecasting 20 47 27 0.08% 0.15% 0.07% view 69 109 40 0.29% 0.36% 0.07% level 41 73 32 0.17% 0.24% 0.07% splatting 0 21 21 0.00% 0.07% 0.07% scalable 10 33 23 0.04% 0.11% 0.07% training 63 100 37 0.26% 0.33% 0.07% mixture 7 28 21 0.03% 0.09% 0.06% series 34 62 28 0.14% 0.20% 0.06% 2025年→2026年で増加した単語 単語 件数(2025) 件数(2026) 増減(件数) 比率(2025) 比率(2026) 増減(比率) reasoning 86 344 258 0.28% 0.72% 0.44% aware 144 420 276 0.47% 0.88% 0.41% guided 101 302 201 0.33% 0.63% 0.30% framework 134 304 170 0.44% 0.64% 0.20% vision 92 231 139 0.30% 0.48% 0.18% llm 91 213 122 0.30% 0.45% 0.15% agent 68 176 108 0.22% 0.37% 0.15% optimization 88 207 119 0.29% 0.43% 0.14% unified 30 115 85 0.10% 0.24% 0.14% multimodal 124 257 133 0.41% 0.54% 0.13% generation 167 323 156 0.55% 0.68% 0.13% dual 51 140 89 0.17% 0.29% 0.13% robust 89 197 108 0.29% 0.41% 0.12% beyond 22 92 70 0.07% 0.19% 0.12% llms 61 153 92 0.20% 0.32% 0.12% reinforcement 90 197 107 0.30% 0.41% 0.12% end 7 62 55 0.02% 0.13% 0.11% multi 415 701 286 1.36% 1.47% 0.11% fusion 48 125 77 0.16% 0.26% 0.10% benchmark 40 111 71 0.13% 0.23% 0.10% hierarchical 51 128 77 0.17% 0.27% 0.10% gaussian 36 104 68 0.12% 0.22% 0.10% retrieval 74 162 88 0.24% 0.34% 0.10% dynamic 82 173 91 0.27% 0.36% 0.09% augmented 31 92 61 0.10% 0.19% 0.09% experts 22 75 53 0.07% 0.16% 0.08% benchmarking 5 48 43 0.02% 0.10% 0.08% manipulation 16 61 45 0.05% 0.13% 0.08% clustering 45 105 60 0.15% 0.22% 0.07% policy 31 83 52 0.10% 0.17% 0.07% 2024年→2026年で増加した単語 単語 件数(2024) 件数(2026) 増減(件数) 比率(2024) 比率(2026) 増減(比率) reasoning 53 344 291 0.22% 0.72% 0.50% language 165 524 359 0.69% 1.10% 0.41% llm 13 213 200 0.05% 0.45% 0.39% aware 121 420 299 0.50% 0.88% 0.38% guided 75 302 227 0.31% 0.63% 0.32% multimodal 53 257 204 0.22% 0.54% 0.32% framework 81 304 223 0.34% 0.64% 0.30% models 183 501 318 0.76% 1.05% 0.29% large 101 332 231 0.42% 0.70% 0.28% multi 289 701 412 1.20% 1.47% 0.27% llms 14 153 139 0.06% 0.32% 0.26% generation 104 323 219 0.43% 0.68% 0.24% vision 59 231 172 0.25% 0.48% 0.24% agent 42 176 134 0.17% 0.37% 0.19% alignment 40 167 127 0.17% 0.35% 0.18% efficient 95 271 176 0.40% 0.57% 0.17% dual 30 140 110 0.12% 0.29% 0.17% gaussian 15 104 89 0.06% 0.22% 0.16% benchmark 19 111 92 0.08% 0.23% 0.15% retrieval 45 162 117 0.19% 0.34% 0.15% hierarchical 30 128 98 0.12% 0.27% 0.14% adaptive 77 221 144 0.32% 0.46% 0.14% unified 24 115 91 0.10% 0.24% 0.14% splatting 0 66 66 0.00% 0.14% 0.14% experts 6 75 69 0.02% 0.16% 0.13% augmented 17 92 75 0.07% 0.19% 0.12% mixture 7 72 65 0.03% 0.15% 0.12% optimization 77 207 130 0.32% 0.43% 0.11% free 38 128 90 0.16% 0.27% 0.11% semantic 65 181 116 0.27% 0.38% 0.11% 2024年→2025年で減少した単語 単語 件数(2024) 件数(2025) 増減(件数) 比率(2024) 比率(2025) 増減(比率) learning 731 686 -45 3.04% 2.25% -0.79% abstract 156 89 -67 0.65% 0.29% -0.36% student 132 95 -37 0.55% 0.31% -0.24% neural 186 166 -20 0.77% 0.54% -0.23% transformer 102 64 -38 0.42% 0.21% -0.21% reinforcement 114 90 -24 0.47% 0.30% -0.18% deep 94 75 -19 0.39% 0.25% -0.14% networks 111 100 -11 0.46% 0.33% -0.13% domain 113 108 -5 0.47% 0.35% -0.12% reprint 25 0 -25 0.10% 0.00% -0.10% end 30 7 -23 0.12% 0.02% -0.10% estimation 62 48 -14 0.26% 0.16% -0.10% classification 76 69 -7 0.32% 0.23% -0.09% causal 48 34 -14 0.20% 0.11% -0.09% supervised 94 93 -1 0.39% 0.31% -0.09% set 33 17 -16 0.14% 0.06% -0.08% sampling 31 16 -15 0.13% 0.05% -0.08% distillation 57 49 -8 0.24% 0.16% -0.08% contrastive 80 81 1 0.33% 0.27% -0.07% shot 87 90 3 0.36% 0.30% -0.07% resolution 43 35 -8 0.18% 0.11% -0.06% explanations 24 11 -13 0.10% 0.04% -0.06% adversarial 67 66 -1 0.28% 0.22% -0.06% robustness 37 28 -9 0.15% 0.09% -0.06% identification 36 27 -9 0.15% 0.09% -0.06% study 24 12 -12 0.10% 0.04% -0.06% network 111 123 12 0.46% 0.40% -0.06% radiance 21 9 -12 0.09% 0.03% -0.06% graph 208 246 38 0.86% 0.81% -0.06% few 54 51 -3 0.22% 0.17% -0.06% 2025年→2026年で減少した単語 単語 件数(2025) 件数(2026) 増減(件数) 比率(2025) 比率(2026) 増減(比率) learning 686 908 222 2.25% 1.90% -0.35% student 95 2 -93 0.31% 0.00% -0.31% abstract 89 4 -85 0.29% 0.01% -0.28% ai 97 46 -51 0.32% 0.10% -0.22% models 386 501 115 1.27% 1.05% -0.22% neural 166 188 22 0.54% 0.39% -0.15% large 257 332 75 0.84% 0.70% -0.15% detection 218 279 61 0.72% 0.58% -0.13% model 254 337 83 0.83% 0.71% -0.13% text 127 143 16 0.42% 0.30% -0.12% diffusion 200 260 60 0.66% 0.54% -0.11% graph 246 334 88 0.81% 0.70% -0.11% federated 99 104 5 0.32% 0.22% -0.11% data 157 195 38 0.52% 0.41% -0.11% label 76 69 -7 0.25% 0.14% -0.10% networks 100 107 7 0.33% 0.22% -0.10% segmentation 113 129 16 0.37% 0.27% -0.10% supervised 93 100 7 0.31% 0.21% -0.10% network 123 147 24 0.40% 0.31% -0.10% image 248 343 95 0.81% 0.72% -0.10% deep 75 72 -3 0.25% 0.15% -0.10% class 49 37 -12 0.16% 0.08% -0.08% classification 69 69 0 0.23% 0.14% -0.08% enhancing 89 102 13 0.29% 0.21% -0.08% machine 41 27 -14 0.13% 0.06% -0.08% shot 90 104 14 0.30% 0.22% -0.08% contrastive 81 90 9 0.27% 0.19% -0.08% temporal 101 122 21 0.33% 0.26% -0.08% representation 97 116 19 0.32% 0.24% -0.08% approach 66 68 2 0.22% 0.14% -0.07% 2024年→2026年で減少した単語 単語 件数(2024) 件数(2026) 増減(件数) 比率(2024) 比率(2026) 増減(比率) learning 731 908 177 3.04% 1.90% -1.14% abstract 156 4 -152 0.65% 0.01% -0.64% student 132 2 -130 0.55% 0.00% -0.54% neural 186 188 2 0.77% 0.39% -0.38% transformer 102 87 -15 0.42% 0.18% -0.24% deep 94 72 -22 0.39% 0.15% -0.24% networks 111 107 -4 0.46% 0.22% -0.24% supervised 94 100 6 0.39% 0.21% -0.18% domain 113 142 29 0.47% 0.30% -0.17% classification 76 69 -7 0.32% 0.14% -0.17% graph 208 334 126 0.86% 0.70% -0.17% text 111 143 32 0.46% 0.30% -0.16% network 111 147 36 0.46% 0.31% -0.15% data 135 195 60 0.56% 0.41% -0.15% contrastive 80 90 10 0.33% 0.19% -0.14% shot 87 104 17 0.36% 0.22% -0.14% label 66 69 3 0.27% 0.14% -0.13% adversarial 67 74 7 0.28% 0.15% -0.12% ai 52 46 -6 0.22% 0.10% -0.12% few 54 50 -4 0.22% 0.10% -0.12% image 201 343 142 0.84% 0.72% -0.12% recognition 70 83 13 0.29% 0.17% -0.12% feature 65 78 13 0.27% 0.16% -0.11% representation 84 116 32 0.35% 0.24% -0.11% reprint 25 0 -25 0.10% 0.00% -0.10% robustness 37 25 -12 0.15% 0.05% -0.10% decision 37 27 -10 0.15% 0.06% -0.10% detection 163 279 116 0.68% 0.58% -0.09% estimation 62 81 19 0.26% 0.17% -0.09% set 33 25 -8 0.14% 0.05% -0.08% ピックアップ ここでは私が気になった論文をピックアップして紹介します。 SpecDetect: Simple, Fast, and Training-Free Detection of LLM-Generated Text via Spectral Analysis LLM-generated テキストの検出 スペクトル分析を使用 従来は表面的なテキストを入力としていた トークンの確率を入力とすると、人間のテキストの方がエネルギーが高い SOTA を達成 一つ前の SOTA より2倍高速 LifeAlign: Lifelong Alignment for Large Language Models with Memory-Augmented Focalized Preference Optimization 長期的に運用可能な Preference Optimization のために、FPO (Focalized Preference Optimization) を提案 訓練対象 model の confidence score を算出し、自信のないものの損失を大きくすることで動的な訓練を実現 ReconVLA: Reconstructive Vision-Language-Action Model as Effective Robot Perceiver VLA モデルにおいて、目標とすべきオブジェクトに attention が張られないことを解決 学習時に拡散モデルを使用し、画像の領域再構成タスクを課す Success Rate が大幅に向上 Stack blocks タスクでは 59.3% → 79.5% に向上 Unseen タスクへの汎化性能も高い iMAD: Intelligent Multi-Agent Debate for Efficient and Accurate LLM Inference Single-Agent での推論か、Multi-Agent でのディベート形式かをよりよく選択する 既存研究:Single-Agent のモデルの確信度でカスケード的に選択 確信度は高いが、間違えるパターンが多い 確信度だけではなく、41 の特徴量をハンドリングし分類器を学習 トークン消費量と精度の両面でベースラインを上回る おわりに 本記事では、私が参加した AAAI-2026 の雰囲気や論文を紹介しました。 私は学生時代、自然言語処理の研究室に所属していたため、人工知能の他分野の発表を見ることは刺激的でした。 AI Shift では引き続き最新技術を取り入れたプロダクト開発を行っていきます。 投稿 AAAI-2026 参加報告 は 株式会社AI Shift に最初に表示されました。

動画

書籍