はじめに
Arc Institute Evo 2は、ゲノムモデリングとデザインに特化したオープンソースプロジェクトで、米国カリフォルニア州パロアルトを拠点とする非営利研究組織Arc Instituteによって開発され、NVIDIAなどのパートナーと共同で立ち上げられた。evo 2は、9兆塩基を超える多様なゲノムデータで学習され、最大400億のパラメータを持ち、最大100万塩基のコンテキスト長をサポートする。そのコード、トレーニングデータ、モデルの重みは完全にオープンソースで、GitHubにホストされており、生物工学と医学研究を加速するように設計されている。研究者も開発者も、このツールを使ってゲノムの謎を探り、新しい生物学的配列を設計することができる。
機能一覧
- 生命ドメインにまたがるゲノムモデリングをサポート:バクテリア、古細菌、真核生物のゲノムの予測と設計が可能。
- 長塩基配列ハンドリング機能:最大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断片から継続配列を生成することができる。手順は以下の通りである:
- 積載モデル::
from evo2 import Evo2 model = Evo2('evo2_7b') 7Bパラメータモデルを使用した#
- プロンプトを入力し、生成する::
prompt = ["ACGT"] #入力初期DNA配列 出力 = model.generate(prompt_seqs=prompt, n_tokens=400, temperature=1.0, top_k=4) print(output.sequences[0]) #出力が生成した400塩基配列
- 結果の解釈生成された配列は、stochasticityを制御するtemperatureパラメータとサンプリング範囲を制限するtop_kを用いて、下流の生物学的解析に使用することができる。
機能2:ゼロ標本のバリアント効果の予測
BRCA1遺伝子を例に、バリアントの生物学的影響を予測した:
- データの準備参照配列とバリアント配列をリストに登録する。
- 業績予想::
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:ロングシーケンス処理
非常に長いシーケンスの場合、Evo 2はチャンクロードと計算をサポートする:
- 大型モデルのローディング::
model = Evo2('evo2_40b') #はマルチGPUのサポートが必要です。
- 長いシーケンスの処理::
long_seq = "ATCG..." * 100000 # 100万塩基配列をモデリングする output = model.generate([long_seq], n_tokens=1000) print(output.sequences[0])
- ほら現在のところ、長いシーケンスの前方への伝搬は遅いかもしれません。ハードウェア構成を最適化するか、教師によるプロンプト方式(teacher prompting)を使用することをお勧めします。
機能4:データセットと二次開発
- データセットの取得HuggingFaceからOpenGenome2データセット(FASTAまたはJSONLフォーマット)をダウンロードする。
- カスタマイズ・トレーニング特定の研究ニーズに応じて、Savannaフレームワークに基づいてモデルアーキテクチャを変更したり、パラメータを微調整したりする。
操作のヒントと注意事項
- マルチGPU構成40Bモデルを使用している場合、Vortexが複数のGPUを正しく認識できるようにする必要があります。
エヌビディア・スミ
リソースの割り当てを確認する。 - パフォーマンス最適化長いシークエンス処理による削減
温度
の値を設定し、計算負荷を軽減している。 - 地域支援質問はGitHubのIssues掲示板で受け付けており、Arc Instituteチームとコミュニティが対応しています。
これらのステップを踏むことで、DNA配列の生成や遺伝子変異の解析など、Evo 2を効率的に使用できるようになります。