30 сентября Google DeepMind представила SynthID Bio — технологию водяных знаков для синтетической биологии. Подпись встраивается прямо в биологический код и проверяется не только на цифровой модели, но и на синтезированном физическом белке, сохраняя его биологическую функцию. Код и данные открыты в репозитории google-deepmind/synthidbio.
В состав SynthID Bio входят два независимых компонента. SynthID Bio-structure — дообученная модель AlphaFold 3нейросеть для предсказания трёхмерной структуры белков и других биомолекул по их последовательности, встраивающая незаметные водяные знаки в генерируемые 3D-структуры биомолекул. SynthID Bio-sequence — водяные знаки в белковых последовательностях при авторегрессивном декодированииспособе генерации последовательности, при котором каждый следующий элемент выбирается с учётом всех уже сгенерированных с помощью ProteinMPNNнейросеть, подбирающая аминокислотную последовательность под заданную структуру белка с сохранением функции и экспрессивности.
Что именно изменилось
SynthID Bio-structure дообучает небольшую часть диффузионной сетичасть модели генерации, которая итеративно уточняет структуру из шума AlphaFold 3, встраивая способность ставить водяной знак прямо в веса модели. Предсказанные 3D-координаты несут обнаруживаемую подпись независимо от того, кто запускает модель. По заявлению авторов, при этом сохраняется точность предсказаний AlphaFold 3, обеспечивается почти идеальная обнаруживаемость, поддерживаются ключевые распределения структурных признаков и устойчивость к цифровому шуму или небольшим изменениям координат.
SynthID Bio-sequence встраивается как замена ProteinMPNN в существующие конвейеры проектирования белков: помеченные последовательности генерируются простым включением флагов водяного знака. Водяной знак в позиции t зависит от истории уже сгенерированных остатков от 0 до t−1, поэтому при включённом водяном знаке модель обязана декодировать последовательно слева направо — vanilla ProteinMPNNисходная версия ProteinMPNN без водяных знаков, которая заполняет позиции в случайном порядке, а не подряд принудительно переопределяется.
На каждом шаге декодирования перед сэмплированием формируется контекст из уже выбранных токенов, затем у процессора запрашиваются оценки с водяным знаком — лог-вероятностилогарифмы вероятностей, удобные для сэмплирования, которые и используются для выбора следующего остатка. Для белков процессор создаётся с apply_top_k=False, чтобы сохранить полный алфавит аминокислот, и top_k равным размеру словаря — обычно 21 (стандартные аминокислоты плюс mask-токен).
Параметры водяного знака
Поведение SynthID Bio-sequence настраивается набором параметров:
--watermark— включение встраивания, по умолчанию False, должен быть установлен для встраивания;--ngram_len— длина n-граммы, по умолчанию 4, задаёт контекстное окно для обусловливания водяного знака;--watermark_keys— ключи через запятую, по умолчанию 0,1,2,...,24;--context_history_size— размер контекста, по умолчанию 1024, внутренний буфер SynthID для отслеживания увиденных контекстов;--watermark_temperature— температура водяного знака, по умолчанию 1.0, коэффициент масштабирования температуры для силы искажения водяного знака;--watermark_top_k— значение top-k, по умолчанию 21, устанавливается в размер словаря;--skip_first_ngram_calls— пропуск первых токенов, по умолчанию True, отключает водяной знак для первых (ngram_len − 1) токенов.
При детекции важно использовать те же параметры, что и при генерации, — иначе детекция будет некорректной.
Как проверяют знак
По-резидуальные оценки водяного знака, называемые g-значениячисловые оценки того, насколько сильно каждый остаток белка отклонился от обычного предсказания модели под действием водяного знака, хранятся в CIF-файлахтекстовых файлах с координатами и атрибутами атомов биомолекулярной структуры в поле изотропного B-фактора (_atom_site.B_iso_or_equiv) — это стандартное поле CIF-файла, в котором обычно записывают подвижность атома, а здесь в него кладут знак, — а маска водяных позиций (1.0 для водяных остатков, 0.0 для фиксированных/контекстных) — в поле occupancy (_atom_site.occupancy) цепи-бииндера. Среднее g-значение для CIF-файла вычисляется через mean_score из synthid_text.detector_mean.
Для уже существующих FASTA-файлов g-значения считает отдельный скрипт compute_g_values.py без повторной генерации последовательностей: он принимает входной и выходной FASTA, длину n-граммы и ключи водяного знака. В выходном FASTA к заголовку каждой последовательности добавляется mean_g_value, например >test_seq_1, mean_g_value=0.7286.
Применение к другим декодерам
SynthID Bio-sequence задуман как model-agnosticне привязанный к конкретной модели: его можно подключить к разным декодерам без переписывания под каждый из них и может быть интегрирован в другие авторегрессионные декодеры белковых последовательностей с минимальными изменениями. Нужно выполнить три шага:
- Настроить обработчик логитов из
synthid_text.logits_processing, для белков выставитьapply_top_k=Falseи задатьtop_kравным размеру словаря. Устройство должно совпадать с устройством модели. - Обеспечить последовательное декодирование слева направо. Если модель использует случайный порядок (как vanilla ProteinMPNN), её нужно принудительно перевести на последовательное декодирование при включённом водяном знаке.
- Перехватывать логиты в цикле сэмплирования: на каждом шаге собрать контекст уже сэмплированных токенов до t−1 и передать обработчику этот контекст вместе с сырыми логитами. Обработчик подстраивает распределение следующего остатка так, чтобы в последовательность попадал водяной знак, и возвращает уже изменённые оценки — по ним и выбирается следующий остаток.
Предыстория
В 2023 году Google DeepMind совместно с Google Cloud запустили бета-версию SynthID — инструмента для нанесения водяных знаков и идентификации изображений, созданных ИИ. Технология размещает цифровой водяной знак среди пикселей изображения, делая маркировку незаметной для человеческого зрения, но видимой для идентификации. SynthID был доступен ограниченному числу пользователей Vertex AI, использующих генератор изображений Imagen.
Позже на конференции Google I/O Google анонсировала SynthID Detector — «портал проверки», определяющий наличие водяного знака SynthID в медиафайле. Изначально SynthID работал только с изображениями, но теперь поддерживает текст, аудио и видео, созданные моделями Gemini, Imagen, Lyria и Veo. Для проверки файл загружается в SynthID Detector, который покажет области изображения или сегменты аудио с наиболее вероятной маркой; доступ открывается через список ожидания.
Почему это сделали
Авторы решают две связанные проблемы: обход традиционного скрининга синтеза ДНК новыми ИИ-дизайнами и загрязнение публичных баз данных неправильно помеченными синтетическими 3D-структурами.
Скрининг синтеза ДНК особенно уязвим: поскольку ИИ может создавать совершенно новые последовательности, мало похожие на известные опасности, проверка незнакомого заказа на то, что он не является сконструированной угрозой, требует исчерпывающих ручных проверок, которые могут тормозить важные исследования. SynthID Bio может дать автоматический сигнал верификации, доказывая, что заказ происходит от доверенной модели со встроенными мерами защиты. Кроме того, в рамках процесса подачи в базы данных вроде Protein Data Bank, UniProt и GenBank технология может помочь гарантировать, что синтетические записи правильно помечены или отмечены для дальнейшей проверки.
Что это меняет на практике
Водяная версия ProteinMPNN задумана как замена, которую можно вставить в существующие конвейеры проектирования белков с минимальными затратами на установку. В protein_mpnn_run.py добавлены аргументы командной строки для настройки водяных знаков, инициализация процессора водяных знаков и передача его в sample, принудительный batch_size=1 при активном водяном знаке, вычисление g-значений и добавление mean_g_value в заголовки FASTA. В protein_mpnn_utils.py метод sample класса ProteinMPNN принимает watermark_processor, при его наличии принудительно используется лево-правое последовательное декодирование вместо случайного порядка, проверяется batch_size=1, логиты перехватываются и применяется watermark_processor.watermarked_call, а сигнатура tied_sample изменена для совместимости. В helper_scripts/parse_multiple_chains.py отсортирован вывод glob.glob для детерминированного порядка парсинга PDB-файлов.
Существующий код ProteinMPNN не удаляется целиком. Добавлены compute_g_values.py, набор из 10 pytest-файлов для проверки примеров с водяными знаками и без (с точным совпадением оценок и g-значений), каталог test_data/ с эталонными выходами и вспомогательными входами, а также примеры bash-скриптов *_watermark.sh для примеров 2, 3, 4, 5, 6, 8. Удалён только каталог training/ с кодом обучения, данными и локальными весами — они не требуются для инференса или валидации.
Данные для валидации
Производные g-значения и данные in vitro валидации находятся в каталоге synthidbio_sequence/data/. Там есть all_g_values.csv с g-значениями для всех последовательностей и CIF-файлы в synthidbio_sequence/data/cifs/. Для каждого из трёх таргетов — SARS-CoV-2 RBD, VEGF-A и PD-L1 — приведены данные связывания в CSV и графики кинетики.
Лицензии
Весь код распространяется под Apache License, Version 2.0. Параметры модели ProteinMPNN изначально были доступны под лицензией MIT и размещены в репозитории под той же лицензией. Параметры модели AlphaFold 3 предоставляются на условиях AlphaFold 3 Model Parameters Terms of Use. Данные в каталоге synthidbio_squence/data лицензированы под Creative Commons Attribution 4.0 International License (CC-BY).
Ограничения и открытые вопросы
Авторы признают, что ни одно средство биобезопасности не является панацеей. Ключевая задача — сделать водяной знак более устойчивым к намеренной подделке. Для полной реализации преимуществ нужны сотрудничество сообщества и дальнейшие исследования. Методы, код, данные in vitro и веса модели публикуются открыто. Дополнительно предлагается сочетать SynthID Bio с подходами метаданных происхождения — аналогично C2PAстандарту подтверждения происхождения и подлинности цифровых медиафайлов для цифровых медиа — или центральными хранилищами AI-сгенерированных биологических данных.
Для цитирования предлагается bibtex-запись с ключом synthidbio2026, статья «Function-preserving watermarking of AI-generated proteins» в журнале Nature, год 2026. Поля volume, number и pages оставлены как «?». По вопросам, связанным с SynthID Bio, следует обращаться по адресу [email protected].