AiKraft
Главная/Блог/Аналитика/RFD4-Proteina: Революция в дизайне…
Аналитика11 мин чтения · 22 октября 2026 г.

RFD4-Proteina: Революция в дизайне белков с поиском на этапе вывода

Разбираем новую модель NVIDIA RFD4-Proteina: как reward-guided search ускоряет дизайн белков в 3.8 раза и снижает потребление памяти.

RFD4-Proteina: Революция в дизайне белков с поиском на этапе вывода

Дизайн белков — это, по своей сути, задача поиска в гигантском пространстве возможностей. Представьте, что вам нужно выбрать аминокислоты для пептида из восьми остатков. Даже в таком простом случае количество возможных комбинаций превышает 25 миллиардов. А теперь умножьте это на 100 остатков — и вы получите число, превышающее количество атомов в наблюдаемой вселенной. Где-то в этом бесконечном лабиринте скрывается белок, способный открыть путь к новой терапии рака или лечению нейродегенеративных заболеваний. Но перебирать все варианты exhaustively (полным перебором) невозможно. Ключ к успеху лежит не в количестве вычислений, а в их интеллектуальном распределении.

Именно эту проблему решает RFD4-Proteina — новая открытая модель от NVIDIA в рамках платформы BioNeMo, разработанная совместно с Институтом дизайна белков (Institute for Protein Design) при Школе медицины Университета Вашингтона. В отличие от предыдущих подходов, RFD4-Proteina не просто предсказывает структуру по последовательности или наоборот. Она осуществляет совместный дизайн (co-design) последовательностей и атомарных структур, используя мощный механизм поиска, направляемого наградой (reward-guided inference-time search). Это позволяет модели фокусировать вычислительные ресурсы только на самых перспективных кандидатах, отсеивая «шум» на ранних этапах генерации.

В этой статье мы подробно разберем, как работает эта архитектура, почему она быстрее и эффективнее своих предшественников (в частности, RFD3), и как исследователи могут применить её для создания биндеров против PD-L1 — важной мишени в онкологии. Мы рассмотрим как локальный запуск через открытый код, так и использование облачного микросервиса NIM, а также разберем технические нюансы интеграции внешних орacles, таких как OpenFold3.

01Архитектурный прорыв: От латентных представлений к совместному дизайну

Чтобы понять масштаб улучшения, нужно взглянуть на эволюцию моделей семейства Proteina. Предыдущая версия, Proteina-Complexa, использовала частично латентный подход. Однако она всё ещё требовала отдельного этапа «инверсного фолдинга» (inverse-folding handoff), когда после генерации структуры нужно было запускать другую модель (например, ProteinMPNN) для подбора аминокислотной последовательности. Этот разрыв между генерацией структуры и подбором последовательности создавал узкое место и накапливал ошибки.

RFD4-Proteina устраняет этот разрыв. Модель объединяет явные координаты остова (backbone) с латентным представлением, обученными последовательностями и атомарными переменными. Её автокодировщик (autoencoder decoder) генерирует и последовательность, и полную атомарную структуру одновременно. Это не просто удобство — это фундаментальное изменение парадигмы, позволяющее модели учитывать химические ограничения аминокислот непосредственно в процессе диффузии.

RFD4-Proteina: Революция в дизайне белков с поиском на этапе вывода

Кроме того, модель работает на уровне остатков (residue-level latent representation), а не отдельных атомов. Это критически важно для оптимизации памяти. Работа с остатками позволяет избежать взрывного роста потребления памяти, который характерен для атомарных моделей при увеличении длины белка. В сочетании с инженерной оптимизацией процесса диффузии, где количество шагов выборки сокращено с ~400 (как в Proteina-Complexa) до всего 60, модель достигает беспрецедентной скорости.

💡
Почему 60 шагов? RFD4-Proteina использует встроенные способности к «рассуждению» (reasoning capabilities). Модель концентрирует вычисления на тех частях процесса диффузии, которые действительно важны для формирования правильной структуры, игнорируя шумовые фазы. Это позволяет сократить путь от шума к структуре в 6-7 раз без потери качества.

02Производительность: 3.8x быстрее и 84% меньше памяти

Цифры, которые NVIDIA представляет для RFD4-Proteina, впечатляют, особенно если сравнивать их с предыдущим флагманом — RFD3. На длине в 200 остатков новая модель генерирует структуры в 3.8 раза быстрее и использует на 84% меньше пиковой памяти.

RFD4-Proteina: Революция в дизайне белков с поиском на этапе вывода

Эти показатели достигаются благодаря нескольким факторам:

  1. Латентное пространство остатков: Как упоминалось выше, это снижает требования к VRAM.
  2. Оптимизированная диффузия: Сокращение шагов с 400 до 60.
  3. CUDA-ускоренные орacles: Внешние инструменты оценки, такие как OpenFold3 и физический движок TMol, интегрированы на уровне ядра CUDA, что делает процесс скоринга практически мгновенным по сравнению с CPU-решениями.
  4. Совместная разработка: Модель и ядра были оптимизированы командами cuEquivariance и BioNeMo Inference Runtime (BIR) специально для архитектуры Hopper и предыдущих поколений GPU NVIDIA.

Дополнительное ускорение обеспечивает бэкенд BioIR (BioNeMo Inference Runtime). Тесты показывают, что BioIR ускоряет RFD4-Proteina в 1.37–1.73 раза по сравнению со стандартным скомпилированным бэкендом на GPU серии Hopper. На GPU H100 PCIe общее время выполнения пакета падает с 161 до 111 секунд — экономия около 31% времени, что критично при проведении масштабных кампаний по дизайну.

RFD4-Proteina: Революция в дизайне белков с поиском на этапе вывода

03Поиск на этапе вывода: Как модель «думает» перед генерацией

Самая интересная часть RFD4-Proteina — это цикл поиска на этапе вывода (inference-time search loop). В традиционных генеративных моделях AI просто генерирует один или несколько вариантов и останавливается. RFD4-Proteina же ведет себя как исследователь: она «разматывает» траекторию денормализации (denoising), получает промежуточные структуры, оценивает их и решает, стоит ли продолжать развитие этого конкретного варианта.

RFD4-Proteina: Революция в дизайне белков с поиском на этапе вывода

Процесс выглядит так:

  1. Денормализация: Модель начинает с шума и постепенно формирует структуру.
  2. Скоринг: На определенных шагах (чекпоинтах) генерируемые состояния оцениваются внешними орacles (например, OpenFold3 для предсказания уверенности pLDDT или TMol для проверки геометрии).
  3. Ветвление (Branching): Если состояние показывает хороший результат (высокую награду), модель сохраняет его и создает несколько ветвей (beam search), продолжая развивать именно этот перспективный кандидат.
  4. Отсечение: Слабые кандидаты отбрасываются, экономя ресурсы.

Награды (rewards) могут измерять разные метрики: геометрическую корректность, взаимодействие с целевым белком (hotspot constraints) или общую уверенность модели в правильности фолдинга. Это позволяет пользователю направлять генерацию под конкретную задачу, например, заставляя модель искать белки, которые не просто правильно свернуты, но и сильно связываются с конкретной точкой на поверхности целевого белка.

⚠️
Важно понимать: Высокий балл pLDDT от OpenFold3 означает высокую уверенность модели в том, что структура корректна, но это не является прямым доказательством биологического связывания. Всегда требуется дополнительная валидация интерфейса и экспериментальные тесты.

04Практическое руководство: Дизайн биндера к PD-L1

Давайте перейдем от теории к практике. Мы рассмотрим типичный сценарий: создание биндера (связывающего белка) к PD-L1, важному онкологическому таргету. PD-L1 часто экспрессируется на поверхности раковых клеток, помогая им избегать иммунной системы. Блокировка этого взаимодействия может активировать иммунный ответ.

Шаг 1: Подготовка входных данных

Первым делом нужно определить, что будет меняться, а что останется фиксированным. Для этого используется инструмент AtomWorks — слой данных для молекулярной подготовки. AtomWorks позволяет подготовить фиксированные атомы, дизайн-регионы (где модель может менять аминокислоты) и hotspots (точки контакта).

В нашем примере мы берем структуру PD-L1 из PDB (идентификатор 5O45). Мы фиксируем остов и последовательность целевого белка, но позволяем его боковым цепям перестраиваться (repack) для лучшего контакта. Мы также указываем модели, что новый биндер должен взаимодействовать с конкретными атомами на поверхности PD-L1: тирозином 56, метионином 115 и тирозином 123. Сам биндер будет состоять из 100–150 остатков.

Настройка задается через JSON-файл условий. Вот пример конфигурации для файла pdl1.json:

terminaljson
{
  "pdl1_binder": {
    "input": "docs/examples/inputs/5o45_cropped.cif",
    "contig": "100-150, /0, A17-131",
    "conditions": {
      "C_CRD": {"true": [{"select": "sel('A') and is_protein_backbone"}]},
      "C_SEQ": {"true": [{"select": "sel('A')"}]},
      "C_HOT": {"true": [
        {"select": "sel('A/*/56/[CG,OH]')"},
        {"select": "sel('A/*/115/[CG,SD]')"},
        {"select": "sel('A/*/123/[CD2,OH]')"}
      ]}
    }
  }
}

Здесь contig определяет длину биндера (100-150 остатков), затем идет разделитель, и далее указываются остатки целевого белка (A17-131). Условия C_CRD и C_SEQ фиксируют остов и последовательность целевого белка, а C_HOT указывает атомы-мишени для взаимодействия.

Шаг 2: Запуск через Open Model (Локально)

Если у вас есть доступ к Linux-серверу с GPU NVIDIA, вы можете запустить модель локально. Это дает полный контроль над кодом и параметрами.

Сначала клонируйте репозиторий и настройте окружение:

terminalbash
git clone https://github.com/RosettaCommons/RFD4-Proteina.git
cd RFD4-Proteina
bash setup.sh --native
source .venv/bin/activate

Для аутентификации в Hugging Face (так как модель находится в приватном репозитории, но доступна для исследователей) используйте:

terminalbash
hf auth login

Создайте скрипт design.py для генерации:

terminalpython
import hydra
from rfd4_proteina import Proteina
from rfproteina.generate import run_generation

@hydra.main(config_path="configs", config_name="inference", version_base="1.3")
def main(cfg):
    model = Proteina.from_pretrained("nvidia/RFD4-Proteina")
    run_generation(cfg, model=model)

if __name__ == "__main__":
    main()

Запустите генерацию одного кандидата:

terminalbash
python design.py inputs=pdl1.json out_dir=runs/pdl1-open seed=42 compile_lengths=null

Чтобы получить 10 вариантов, добавьте параметр num_replicates=10. Результаты будут сохранены в папке runs/pdl1-open/inference_samples/.

Шаг 3: Запуск через NIM Microservice (Облако/Локальный Docker)

Для тех, кто предпочитает HTTP-интерфейс или не хочет управлять зависимостями Python, NVIDIA предлагает NIM. Это микросервис, который можно развернуть локально через Docker или использовать через облачный API.

Локальный запуск через Docker:

terminalbash
read -rsp 'NGC API key: ' NGC_API_KEY; echo
export NGC_API_KEY
printf '%s' "$NGC_API_KEY" | docker login nvcr.io -u '$oauthtoken' --password-stdin

image=nvcr.io/nim/ipd/rfd4-proteina:latest
docker pull "$image"

# Запуск контейнера
export LOCAL_NIM_CACHE="$HOME/.cache/nim"
mkdir -p "$LOCAL_NIM_CACHE"
docker run -d --rm --name rfd4-proteina \
  --runtime=nvidia --gpus 'device=0' -p 8000:8000 \
  -e NGC_API_KEY -v "$LOCAL_NIM_CACHE":/opt/nim/.cache \
  --shm-size=16g "$image"

Клиент для отправки запроса на Python:

terminalpython
import json
from pathlib import Path
import requests

spec = json.loads(Path("pdl1.json").read_text())["pdl1_binder"]
target = Path(spec["input"])
spec["input"] = target.name

payload = {
    "task": "motif_scaffolding",
    "input": {"format": "condition_spec", "example_id": "pdl1_binder",
              "spec": spec, "files": [{"filename": target.name, "content": target.read_text()}]},
    "sampling": {"num_replicates": 1, "seed": 42},
    "metrics": {"tags": ["design", "hotspot_conditioning"]}
}

def submit(payload, out):
    out.mkdir(parents=True, exist_ok=True)
    response = requests.post("http://localhost:8000/biology/ipd/rfd4-proteina/generative",
                             json=payload, timeout=1800)
    response.raise_for_status()
    result = response.json()
    (out / "response.json").write_text(json.dumps(result, indent=2))
    for i, design in enumerate(result["designs"]):
        dest = out / f"design-{i}.cif"
        dest.write_text(design["structure"]["content"])
        print(design["design_id"], dest)

if __name__ == "__main__":
    submit(payload, Path("runs/pdl1-nim"))

05Интеграция с внешними орacles: OpenFold3 и TMol

Сила RFD4-Proteina раскрывается полностью, когда мы включаем поиск с наградами. Для этого используются внешние модели-орacles, которые оценивают качество сгенерированных структур.

RFD4-Proteina: Революция в дизайне белков с поиском на этапе вывода

OpenFold3 для оценки уверенности (pLDDT)

OpenFold3 — это реализация AlphaFold3 с открытым исходным кодом (лицензия Apache 2.0). Она используется для оценки того, насколько вероятно, что сгенерированная структура является правильной.

Для локального запуска с OpenFold3 установите зависимости и скачайте веса:

terminalbash
./scripts/download_example_data.sh ./data_path
# Установите переменные окружения, которые выведет скрипт:
# OF3_IMAGE, OF3_MODEL_DIR, OF3_JAX_CACHE_DIR
mkdir -p "$OF3_JAX_CACHE_DIR"

Затем запустите генерацию с пресетом поиска:

terminalbash
python design.py inference_experiment=inference_beam_example \
  metrics/refolding_oracles=of3 inputs=pdl1.json subset_to_examples=null \
  num_replicates=1 out_dir=runs/pdl1-open-search seed=42 compile_lengths=null

Этот пресет использует beam search с шириной 3 и двумя ветвями. Оценка происходит на шагах 20, 40, 50 и 60. Модель сохраняет только те варианты, где награда (pLDDT) превышает порог 80, при этом минимальный порог отсечения — 50.

Для NIM-версии процесс аналогичен, но требует монтирования файла reward.py и настройки переменных окружения:

terminalbash
docker stop rfd4-proteina
docker run -d --rm --name rfd4-proteina \
  --gpus 'device=0' -p 8000:8000 --shm-size=16g \
  -e NGC_API_KEY -v "$LOCAL_NIM_CACHE:/opt/nim/.cache" \
  -v "$PWD/reward.py:/opt/nim/reward.py:ro" \
  -e NIM_ALLOW_ORACLE_PLUGIN=true -e OF3_NIM_API_KEY \
  "$image"

TMol для физической валидации

Помимо нейросетевых оценок, можно использовать физические движки, такие как TMol. Он проверяет стерические clashes (столкновения атомов) и энергетическую стабильность структуры. Интеграция TMol также возможна через плагины орacles в NIM, что позволяет проводить многокритериальную оценку: нейросеть проверяет «похожесть на реальный белок», а физика — «реалистичность атомных взаимодействий».

06Автоматизация кампаний с BioNeMo Agent Toolkit

Для серьезных исследований однократной генерации недостаточно. Нужны итеративные кампании, где результаты экспериментов или предыдущих вычислений используются для улучшения следующих раундов дизайна. Для этого NVIDIA предоставляет BioNeMo Agent Toolkit.

Скиллы rfd4-proteina-campaign и rfd4-proteina-package позволяют агенту (AI-ассистенту) координировать генерацию, поиск, оценку и архивирование результатов. Агент может автоматически запускать новые раунды дизайна, анализируя провалы предыдущих попыток, и направлять вычислительные ресурсы на те области химического пространства, которые показывают наибольший потенциал.

📌
Факт: RFD4-Proteina доступна в двух форматах: как открытый модельный вес на GitHub (для полного контроля и кастомизации) и как NIM микросервис (для быстрого внедрения в производственные пайплайны через HTTP). Выбор зависит от ваших потребностей в гибкости vs. скорости развертывания.

07Что это значит на практике

Внедрение RFD4-Proteina меняет экономику дизайна белков. Раньше создание одного кандидата могло занимать часы или дни на кластере, требуя ручной настройки параметров. Теперь, благодаря сокращению шагов диффузии и оптимизации памяти, исследователи могут генерировать сотни вариантов за минуты.

Механизм reward-guided search означает, что вы не тратите время на «мусорные» структуры. Модель сама отсеивает те варианты, которые не соответствуют вашим критериям (будь то геометрия интерфейса или уверенность в фолдинге). Это особенно критично при дизайне биндеров, где важно попасть в конкретную щель на поверхности белка-мишени.

Для российских исследователей и компаний важно отметить, что локальный запуск через открытый код (GitHub) не зависит от облачных ограничений, если есть доступ к GPU. Однако использование NIM через облачный API build.nvidia.com может требовать обхода геоблокировок или использования посредников, что стоит учитывать при планировании инфраструктуры. Локальный Docker-развертывание NIM остается надежным вариантом для работы внутри периметра компании.

В конечном итоге, RFD4-Proteina — это не просто еще одна модель генеративного ИИ. Это инструмент, который превращает дизайн белков из искусства, требующего интуиции и удачи, в инженерную дисциплину, управляемую данными и вычислительной эффективностью. Скорость, точность и возможность тонкой настройки через награды делают её мощным оружием в борьбе с новыми заболеваниями.

Источник: NVIDIA Developer ↗