AI & 機械学習

バイオファーマ企業、画期的なタンパク質フォールディング システム AlphaFold を Vertex AI で利用可能に

#ai

※この投稿は米国時間 2022 年 1 月 21 日に、Google Cloud blog に投稿されたものの抄訳です。

Google Cloud は、Alphabet 全体の研究の成果を色濃く反映したプロダクトを市場に送り出しています。例えば、Vertex AI は、Google の研究機関の先駆的な研究をもとに、アイデア出し、具体化、開発が行われました。Vertex AI Forecast、Explainable AI、Vertex AI Neural Architecture Search(NAS)、Vertex AI Matching Engine などの機能は、Google の研究者の発見をベースとするもので、社内でテスト、デプロイされ、エンタープライズ対応のソリューションとして世界中のデータ科学者と共有され、それぞれ数年という短い期間で実現されました。

本日、Google Cloud と Alphabet の AI 研究組織との間の新たな緊密なインテグレーションを発表します。これにより、Vertex AIDeepMind の画期的なタンパク質構造予測システム、AlphaFold を実行できるようになります。

この機能は、病気の治療法の開発から新しい合成生体材料の作成まで、バイオファーマ分野のあらゆるタイプのデータ サイエンティストや組織にメリットがあるものと考えています。Alphabet の AI 研究は、今後も Google Cloud のお客様による製品開発の一助となり、プラットフォームに貢献し続けます。

このガイドでは、Vertex AI で動作する AlphaFold の簡易版を使って、タンパク質の構造(または複数のタンパク質の構造)を簡単に予測する方法を紹介します。ほとんどのターゲットで、この方法は フルバージョンとほぼ同じ精度の予測値を得ることができました。これらの予測を正しく解釈する方法については、このブログ記事の「AlphaFold 予測の使用」のセクションをご覧ください。

解釈方法の詳細な情報については、補足情報を参照してください。

ソリューションの概要

Vertex AI は、データ サイエンス / 機械学習のワークフロー全体を単一の開発環境で開発できるため、より少ないコードで、より速くモデルをデプロイできます。

AlphaFold の実行には、Vertex AI Workbench ユーザー マネージド ノートブックを選択しました。これは Jupyter ノートブックを使用し、さまざまな深層学習パッケージのプリインストールと環境の完全制御の両方を提供します。また、以下のアーキテクチャ図に示すように、Google Cloud StorageGoogle Cloud Artifact Registryを使用しています。

1 deep mind.jpg
Figure 1. ソリューションの概要

Google Cloud は、Vertex AI Workbench でノートブック インスタンスを起動するためのパッケージや、AlphaFold を実行するための前提条件がプリインストールされた、カスタマイズされた Docker イメージを、Artifact Registry で提供します。ノートブック インスタンスの Docker イメージをさらにカスタマイズしたいユーザーのために、Dockerfile とそれを基に構築できるスクリプトも提供しています。ノートブック、Dockerfile、ビルド スクリプトは Vertex AI コミュニティ コンテンツにあります。

スタートガイド

Vertex AI Workbench は、AlphaFold の実行に必要なランタイムの依存関係を事前に構成できる、エンドツーエンドのノートブック ベースの本番環境を提供します。ユーザー マネージド ノートブックでは、JAX を使って GPU アクセラレータを構成し、AlphaFold を動作させることができます。ドライバや JupyterLab インスタンスのインストールや管理は不要です。以下は、やや単純化した AlphaFold を使用して、タンパク質の構造を予測できるデモ ノートブックを起動するためのステップバイステップのチュートリアルです。相同タンパク質構造やフルサイズの BFD 配列データベースは使用しません。

1. Google Cloud を初めて利用する場合は、スタートガイド ページの資料をよく理解し、チュートリアル ノートブックを管理する VM インスタンスをホストする 最初のプロジェクトを作成することをおすすめします。プロジェクトを作成したら、手順 2 へ進みます。

2. チュートリアル ノートブックは、GitHub の vertex-ai-samples リポジトリにあるので、そこに移動します。

3. 「Vertex AI Workbench でこのノートブックを起動する」リンクから Vertex Workbench でノートブックを起動します。起動すると、Google Cloud Platform Console にリダイレクトされ、前回使用したプロジェクトを使って Vertex AI Workbench が開きます。

2 deep mind.jpg

4. 必要に応じて、画面上部、左側の青いヘッダーを使用してプロジェクトを選択します。

  • 複数の Google Cloud のユーザー アカウントを持っている場合は、右のアイコンから使用するアカウントを選択します。

  • 初めて利用する場合は、画面右下に表示される [スタート] ボタンに、「AI Platform にノートブックをデプロイします」というチュートリアルが表示されます。

  • このチュートリアルは、初めて利用する人には必須で、ワークベンチの使い方のほか、課金を設定して Notebooks API を有効にする方法を説明しています(どちらも必須)。

  • GPU アクセラレーションには完全な課金アカウントが必要です。設定を強く推奨します。詳細

3 deep mind.jpg

5. ノートブックの名前を入力しますが、まだ [作成] をクリックしないでください。「詳細オプション」をいくつか構成する必要があります。Vertex AI Workbench を使ったことがある方は、[新しいノートブックを作成する] を選択する必要があります。

4 deep mind.jpg

6. このチュートリアルでは、GPU アクセラレーションを強く推奨します。GPU アクセラレーションを使用する場合は、プロジェクトに十分なアクセラレータ割り当てがあることを確認する必要があります。

  • GPU の割り当ての合計: 「GPU(すべてのリージョン)」

  • 特定の GPU タイプに対する割り当て: 「リージョンごとの NVIDIA V100 GPU」

[フィルタ] ボックスに割り当てを入力し、上限 > 0 であることを確認します。必要であれば、チェックボックスを選択して「割り当てを編集」を選択すれば、わずか数分で割り当てを少し増加させることができます。

5 deep mind.jpg

7. 次に、左側の「詳細オプション」を選択すると、残りの構成メニューが表示されます。

  • [環境] で「カスタム コンテナ」を構成(プルダウン メニューの 1 番目)。

  • [Docker コンテナ イメージ] テキスト ボックスに、以下を入力: ([選択] はクリックしない) us-west1-docker.pkg.dev/cloud-devrel-public-resources/alphafold/alphafold-on-gcp:latest

  • 推奨される VM 構成: 

    • マシンタイプ: n1-standard-8 (8 台の CPU、30 GB RAM)

    • GPU タイプ: NVIDIA Tesla V100 GPU アクセラレータ (推奨)

      • 対象のタンパク質が長ければ、より強力な GPU を必要とする場合がある。具体的な構成については、割り当て構成を確認し、必要に応じて割り当ての増加を要求する(手順 6 と同様)。

      • 必要な GPU が表示されない場合は、手順 5 からリージョン / ゾーン構成を変更する必要がある場合がある。詳細

    • GPU の数: 1

    • [NVIDIA GPU ドライバを自動的にインストールする] のチェックボックスがオンであることを確認。

  • その他のメニュー項目は、デフォルトのままにする。[作成] を押す。

6 deep mind.jpg

8. 数分後、仮想マシンが作成され、JupyterLab のインスタンスにリダイレクトされます。起動時に、VM 上で動作している Jupyter サーバーへの接続を確認する必要がある場合は、[確認] をクリックします。

7 deep mind.jpg

9. 「ビルドを推奨します」というメッセージが表示された場合は、[キャンセル] をクリックします。

8 deep mind.jpg

10. ノートブックが起動できるようになりました。メニューから、[Run] > [Run all cells] を選択してノートブック全体を評価するか、各セルを個別にハイライトして Shift+Enter キーをクリックして実行します。ノートブックには、フォールディングしたいタンパク質の配列をどこに追加するかなど、各手順の詳細な説明が記載されています。

11. Vertex AI Workbench の AlphaFold を使ってタンパク質のフォールディングを完了しました。

9 deep mind.jpg

12. チュートリアル終了後、不要な課金を避けるために、[Vertex AI] > [Workbench] メニューでホスト VM インスタンスを停止します。

AlphaFold の予測を利用する

今予測したタンパク質構造は、selected_prediction.pdb としてインスタンスの「予測」フォルダに自動的に保存されます。ダウンロードするには、左側のファイル ブラウザで「予測」フォルダに移動し、「selected_prediction.pdb」ファイルを右クリックして、[ダウンロード] を選択します。このファイルは、使用するビューアやパイプラインで使用できます。

また、3D ビューアで見ることで、予測結果を直接ノートブックで探索できます。多くの予測は高い精度で行われますが、ごく一部の予測は低い精度である可能性があることに留意する必要があります。予測の解釈を容易にするために、ノートブックの予測 LDDT と予測配置エラーの図だけでなく、モデルの信頼度(3D ストラクチャの色)を参照します。これらの指標や AlphaFold ストラクチャの解釈方法については、このページよくある質問で詳しく説明しています。

AlphaFold を出版物、サービス、製品などで引用する場合は、AlphaFold の論文 を引用し、該当する場合は AlphaFold-Multimer の論文も引用してください。

生物学と医学のイノベーションに向けて

このガイドでは、クラウド上で安全かつスケーラブルで構成可能な研究環境を実現するために、AlphaFoldVertex AI を利用して導入する方法を説明しました。AlphaFold についてもっと知りたい方は、科学論文ソースコードにも自由にアクセスできます。お客様や他の科学者の方々の知見により、生物学と医学の理解がさらに進み、すばらしい進歩につながることを期待しています。

- Healthcare & Life Sciences - BioPharma 業界ソリューション ディレクター、Shweta Maniar 氏