AIパーソナル・ラーニング
と実践的なガイダンス
資源推薦1

Evo2: ゲノムモデリングとデザイン支援のためのオープンソースバイオAIツール

はじめに

Arc Institute Evo 2は、ゲノムモデリングとデザインに特化したオープンソースプロジェクトで、米国カリフォルニア州パロアルトを拠点とする非営利研究組織Arc Instituteによって開発され、NVIDIAなどのパートナーと共同で立ち上げられた。evo 2は、9兆塩基を超える多様なゲノムデータで学習され、最大400億のパラメータを持ち、最大100万塩基のコンテキスト長をサポートする。そのコード、トレーニングデータ、モデルの重みは完全にオープンソースで、GitHubにホストされており、生物工学と医学研究を加速するように設計されている。研究者も開発者も、このツールを使ってゲノムの謎を探り、新しい生物学的配列を設計することができる。

Evo2: ゲノムモデリングと設計を支援するオープンソースのバイオAIツール-1


 

機能一覧

  • 生命ドメインにまたがるゲノムモデリングをサポート:バクテリア、古細菌、真核生物のゲノムの予測と設計が可能。
  • 長塩基配列ハンドリング機能:最大100万塩基のDNA配列を扱うことができ、非常に長いコンテキストの解析タスクに対応。
  • DNAの生成と最適化: 入力配列または生物種のヒントに基づき、コーディング領域の注釈を持つ新しいDNA配列を生成する。
  • ゼロサンプルのバリアント効果予測:追加トレーニングなしで遺伝子バリアントの生物学的影響を予測する。
  • オープンソースのデータセットとモデル:二次開発や研究を支援するために、事前に訓練されたモデルとOpenGenome2データセットを提供する。
  • マルチGPU並列コンピューティングサポート:Vortexフレームワークを通じて複数のGPUリソースを自動的に割り当て、大規模コンピューティングの効率を向上。
  • NVIDIA BioNeMoとの統合:NVIDIAのバイオコンピューティング・プラットフォームへのシームレスなアクセスにより、アプリケーション・シナリオを拡大。
  • 可視化・解釈ツール:GoodfireのInterpretive Visualiserと組み合わせることで、モデルによって認識されたバイオメトリックの特徴やパターンを明らかにします。

 

ヘルプの使用

設置プロセス

Evo 2をローカルで使用するには、特定のコンピューティングリソースと環境設定が必要です。以下は、詳しいインストール手順です:

1.環境準備

  • オペレーティングシステムLinux(例:Ubuntu)またはmacOSを推奨しますが、WindowsユーザーはWSL2をインストールする必要があります。
  • ハードウェア要件少なくとも1つのNVIDIA GPU(40Bモデルをサポートするために複数のGPUを推奨)と最低16GBのビデオメモリ(例:A100またはRTX 3090)。
  • ソフトウェア依存Git, Python 3.8+, PyTorch (with CUDA support), pipがインストールされていることを確認する。

2.コードリポジトリのクローン

ターミナルを開き、以下のコマンドを実行してEvo 2のソースコードを入手する:

git clone --recurse-submodules git@github.com:ArcInstitute/evo2.git
cd evo2

注目してほしい:--recurse-submodules すべてのサブモジュールもダウンロードされていることを確認してください。

3.依存関係のインストール

プロジェクトのルート・ディレクトリで実行する:

pip install .

問題が発生した場合は、Vortexからインストールしてみてください(詳細はGitHubのREADMEを参照)。インストールが完了したら、テストを実行して確認してください:

python -m evo2.test

出力にエラーがなければ、インストールは成功です。

4.訓練済みモデルのダウンロード

エボ2には様々なモデルのバージョン(例:1B、7B、40Bパラメータ)があり、ハギング・フェイスまたはGitHub Releasesからダウンロードできます。例

wget https://huggingface.co/arcinstitute/evo2_7b/resolve/main/evo2_7b_base.pt

モデルファイルをローカルディレクトリに置き、後でロードできるようにします。

使用方法

インストールが完了したら、Pythonスクリプトを使ってEvo 2のコア機能を呼び出すことができます。以下に、主な機能の詳細な手順を示す:

機能1:DNA配列の生成

Evo 2は、入力されたDNA断片から継続配列を生成することができる。手順は以下の通りである:

  1. 積載モデル::
    from evo2 import Evo2
    model = Evo2('evo2_7b') 7Bパラメータモデルを使用した#
    
  2. プロンプトを入力し、生成する::
    prompt = ["ACGT"] #入力初期DNA配列
    出力 = model.generate(prompt_seqs=prompt, n_tokens=400, temperature=1.0, top_k=4)
    print(output.sequences[0]) #出力が生成した400塩基配列
    
  3. 結果の解釈生成された配列は、stochasticityを制御するtemperatureパラメータとサンプリング範囲を制限するtop_kを用いて、下流の生物学的解析に使用することができる。

機能2:ゼロ標本のバリアント効果の予測

BRCA1遺伝子を例に、バリアントの生物学的影響を予測した:

  1. データの準備参照配列とバリアント配列をリストに登録する。
  2. 業績予想::
    ref_seqs = ["ATCG..."] #参照配列  #参照配列
    var_seqs = ["ATGG..."] #参照配列  #バリアント配列
    ref_scores = model.score_sequences(ref_seqs)
    var_scores = model.score_sequences(var_seqs)
    print(f "リファレンス尤度:{ref_score}, バリアント尤度:{var_score}")
    
  3. 分析スコアの違いを比較し、機能に対する変異の潜在的な影響を評価する。

機能3:ロングシーケンス処理

非常に長いシーケンスの場合、Evo 2はチャンクロードと計算をサポートする:

  1. 大型モデルのローディング::
    model = Evo2('evo2_40b') #はマルチGPUのサポートが必要です。
    
  2. 長いシーケンスの処理::
    long_seq = "ATCG..." * 100000 # 100万塩基配列をモデリングする
    output = model.generate([long_seq], n_tokens=1000)
    print(output.sequences[0])
    
  3. ほら現在のところ、長いシーケンスの前方への伝搬は遅いかもしれません。ハードウェア構成を最適化するか、教師によるプロンプト方式(teacher prompting)を使用することをお勧めします。

機能4:データセットと二次開発

  • データセットの取得HuggingFaceからOpenGenome2データセット(FASTAまたはJSONLフォーマット)をダウンロードする。
  • カスタマイズ・トレーニング特定の研究ニーズに応じて、Savannaフレームワークに基づいてモデルアーキテクチャを変更したり、パラメータを微調整したりする。

操作のヒントと注意事項

  • マルチGPU構成40Bモデルを使用している場合、Vortexが複数のGPUを正しく認識できるようにする必要があります。 エヌビディア・スミ リソースの割り当てを確認する。
  • パフォーマンス最適化長いシークエンス処理による削減 温度 の値を設定し、計算負荷を軽減している。
  • 地域支援質問はGitHubのIssues掲示板で受け付けており、Arc Instituteチームとコミュニティが対応しています。

これらのステップを踏むことで、DNA配列の生成や遺伝子変異の解析など、Evo 2を効率的に使用できるようになります。

コンテンツ1
無断転載を禁じます:チーフAIシェアリングサークル " Evo2: ゲノムモデリングとデザイン支援のためのオープンソースバイオAIツール

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語