🚀 Evo-1 (Phase 2)
Evoは、長文脈のモデリングと設計が可能な生物学の基礎モデルです。このモデルは、塩基レベルのシーケンスをモデリングし、コンテキスト長に対して計算量とメモリをほぼ線形に拡張できます。
🚀 クイックスタート
最新情報
一部の射影の誤った順列に関連する問題を特定し、修正しました。この問題は生成品質に影響を与えます。新しいモデルのリビジョンを使用するには、以下のようにロードしてください。
config = AutoConfig.from_pretrained(model_name, trust_remote_code=True, revision="1.1_fix")
model = AutoModelForCausalLM.from_pretrained(
model_name,
config=config,
trust_remote_code=True,
revision="1.1_fix"
)
✨ 主な機能
Evoは、長文脈のモデリングと設計が可能な生物学の基礎モデルです。
- 高精度なシーケンスモデリング:StripedHyenaアーキテクチャを使用して、塩基レベルのシーケンスを高精度にモデリングします。
- 大規模データセットでの学習:約3000億トークンを含む原核生物の全ゲノムデータセットであるOpenGenomeで学習されています。
- 多様なモデルチェックポイント:様々なコンテキスト長で学習されたモデルチェックポイントを提供します。
📦 インストール
StripedHyenaを使用するには、カスタムカーネルをインストールする必要があります。スタンドアロンリポジトリの指示に従ってください。
💻 使用例
基本的な使用法
新しいモデルのリビジョンを使用するには、以下のコードを使用してください。
config = AutoConfig.from_pretrained(model_name, trust_remote_code=True, revision="1.1_fix")
model = AutoModelForCausalLM.from_pretrained(
model_name,
config=config,
trust_remote_code=True,
revision="1.1_fix"
)
高度な使用法
具体的な高度な使用シーンに関する説明は原文に記載がないため、省略します。
📚 ドキュメント
概要
Evoは、長文脈のモデリングと設計が可能な生物学の基礎モデルです。このモデルは、StripedHyenaアーキテクチャを使用して、塩基レベルのシーケンスをモデリングし、コンテキスト長に対して計算量とメモリをほぼ線形に拡張できます。
モデルチェックポイント
以下のモデルチェックポイントを提供しています。
チェックポイント名 |
説明 |
evo-1-8k-base |
8,192のコンテキストで事前学習されたモデル。分子スケールの微調整タスクのベースモデルとして使用します。 |
evo-1-131k-base |
evo-1-8k-base をベースモデルとして、131,072のコンテキストで事前学習されたモデル。ゲノムスケールのシーケンスの推論と生成に使用します。 |
evo-1-8k-crispr |
evo-1-8k-base をベースモデルとして、CRISPR - Casシステムを生成するように微調整されたモデル。 |
evo-1-8k-transposon |
evo-1-8k-base をベースモデルとして、IS200/IS605トランスポゾンを生成するように微調整されたモデル。 |
論文情報
我々は論文 “Sequence modeling and design from molecular to genome scale with Evo” でEvoについて詳述しています。
事前学習チェックポイントの公開
オープンサイエンスへの取り組みの一環として、事前学習のフェーズ1とフェーズ2の 15の中間事前学習チェックポイントの重み を公開しています。これらのチェックポイントは、対応するHuggingFaceリポジトリのブランチとして利用可能です。
モデルアーキテクチャ
StripedHyenaは、深層信号処理のハイブリッドアーキテクチャで、Hyenaブロックに配置されたマルチヘッドアテンションとゲート付き畳み込みで構成されており、デコーダーのみのTransformerを改善しています。
このアーキテクチャのいくつかの特長は以下の通りです。
- 効率的な自己回帰生成:再帰モードにより(単一の80GB GPUで500k以上の生成)
- 長文脈での大幅に高速な学習と微調整:(131kで3倍以上)
- 最先端のアーキテクチャ(例:Transformer++)に対する改善されたスケーリング則:自然言語と生物学的シーケンスの両方に対して
- 計算最適フロンティアを超えた学習に対する堅牢性:例えば、チンチラ最適トークン量を大幅に超えた学習(詳細はプレプリントを参照 -- これからさらに詳細が公開されます)
推論と微調整のパラメータ化
深層信号処理モデルの利点の1つは、その柔軟性です。事前学習、微調整、または推論ワークロードのメモリ、表現力、および因果関係の要件に応じて、異なる畳み込みのパラメータ化を使用することができます。
主なクラスは以下の通りです。
StripedHyenaは混合精度モデルです。特に長いプロンプトまたは学習の場合、poles
とresidues
をfloat32
精度に保つようにしてください。
🔧 技術詳細
モデルアーキテクチャの詳細
StripedHyenaは、マルチヘッドアテンションとゲート付き畳み込みを組み合わせたハイブリッドアーキテクチャです。このアーキテクチャは、シーケンス処理に必要な大部分の計算をHyenaレイヤーで実行し、ターゲットパターンのリコール能力をアテンションレイヤーで補完します。
パラメータ化の詳細
深層信号処理モデルのパラメータ化は、事前学習、微調整、および推論のワークロードに応じて柔軟に調整できます。異なる畳み込みのパラメータ化を使用することで、メモリ使用量、表現力、および因果関係を最適化できます。
📄 ライセンス
このプロジェクトは、Apache-2.0ライセンスの下で公開されています。
引用
@article{nguyen2024sequence,
author = {Eric Nguyen and Michael Poli and Matthew G. Durrant and Brian Kang and Dhruva Katrekar and David B. Li and Liam J. Bartie and Armin W. Thomas and Samuel H. King and Garyk Brixi and Jeremy Sullivan and Madelena Y. Ng and Ashley Lewis and Aaron Lou and Stefano Ermon and Stephen A. Baccus and Tina Hernandez-Boussard and Christopher Ré and Patrick D. Hsu and Brian L. Hie },
title = {Sequence modeling and design from molecular to genome scale with Evo},
journal = {Science},
volume = {386},
number = {6723},
pages = {eado9336},
year = {2024},
doi = {10.1126/science.ado9336},
URL = {https://www.science.org/doi/abs/10.1126/science.ado9336},