모델을 넘어 시스템으로, 컨버지바이오가 그리는 AI 신약개발의 실체

keyword_517

나는 최근 생성형 AI가 텍스트와 이미지를 넘어 분자 구조와 단백질 서열이라는 ‘생명의 언어’를 어떻게 해석하는지에 깊이 매료되어 있다. 단순히 챗봇과 대화하는 수준을 넘어, 실제 질병을 치료하는 약물을 설계하는 과정에 AI가 개입한다는 사실은 전율마저 느끼게 한다. 특히 최근 컨버지바이오(Converge Bio)가 거둔 성과와 그들이 주장하는 ‘시스템적 접근’은 AI 엔지니어로서 매우 흥미로운 관점을 제시한다.

단순한 모델이 아닌 ‘엔드 투 엔드’ 시스템의 가치

많은 이들이 LLM의 성공을 보고 AI 신약개발도 그저 적절한 프롬프트를 입력하면 정답이 나오는 과정이라고 오해하곤 한다. 하지만 컨버지바이오의 CEO 도브 거츠(Dov Gertz)는 단호하게 말한다. 챗GPT처럼 프롬프트 하나로 유용한 결과를 얻을 수 있는 단계가 아니라는 것이다. 벤치마크 점수가 높은 모델과 실제 생물학자가 실험실에서 사용할 수 있는 시스템 사이에는 거대한 간극이 존재한다.

이 간극을 메우기 위해 컨버지바이오는 단일 모델이 아닌 통합 시스템을 구축했다. 이들은 DNA, RNA, 단백질 서열 데이터를 학습시킨 생성 모델을 기반으로, 이를 실제 제약사의 워크플로우에 직접 연결하는 방식을 취한다. 타겟 식별부터 제조, 임상 시험에 이르는 복잡한 라이프사이클의 각 단계에서 실험을 지원하는 구조다.

특히 인상적인 점은 이들이 제공하는 세 가지 구체적인 AI 시스템이다. 항체 설계(Antibody Design), 단백질 수율 최적화(Protein Yield Optimization), 그리고 바이오마커 및 타겟 발굴(Biomarker and Target Discovery) 시스템이 그것이다. 이들은 서로 다른 목적을 가진 모델들이 유기적으로 결합하여 작동하며, 사용자는 코드를 한 줄도 쓰지 않고도 실행 가능한 결과물을 얻을 수 있다.

항체 설계 시스템의 내부 메커니즘

컨버지바이오의 항체 설계 시스템을 뜯어보면 AI가 어떻게 물리적 실체로 구현되는지 알 수 있다. 이 시스템은 크게 세 가지 단계의 파이프라인으로 구성된다. 먼저 생성 모델이 새로운 항체 후보군을 만들어내고, 다음으로 예측 모델이 분자 특성을 기반으로 이들을 필터링한다. 마지막으로 물리 기반의 도킹 시스템(Docking System)이 항체와 타겟 사이의 3차원 상호작용을 시뮬레이션한다.

이 과정은 단순히 확률적인 단어 예측이 아니라, 단일 나노몰(single-digit nanomolar) 수준의 강력한 결합 친화력을 가진 항체를 찾아내는 정밀한 공정이다. 실제로 이들은 지난 1년간 제약 및 바이오테크 기업들과 40개 이상의 프로그램을 완료하며 온콜로지(종양학), 신경퇴행성 질환, 자가면역 질환 분야에서 실질적인 성과를 증명해냈다.

투자 시장의 반응도 뜨겁다. 베세머 벤처 파트너스(Bessemer Venture Partners)가 주도한 이번 시리즈 A 라운드에서 2,500만 달러를 유치했으며, TLV 파트너스, 사라스 캐피털, 빈티지 인베스트먼트 파트너스가 참여했다. 특히 메타(Meta), 오픈AI(OpenAI), 위즈(Wiz)의 임원들이 개인적으로 투자했다는 점은 이 기술이 가진 AI 아키텍처의 잠재력을 업계 최고 전문가들이 인정했다는 방증이기도 하다.

실제로 AI 신약개발 워크플로우를 흉내 내 본다면

물론 컨버지바이오의 플랫폼은 폐쇄적인 기업용 솔루션이지만, 오픈소스 생태계에서도 이와 유사한 ‘생성-필터링-검증’ 루프를 구현해 볼 수 있다. 예를 들어, 단백질 구조 예측의 표준이 된 AlphaFold나 최근의 ESMFold 같은 모델을 활용해 특정 서열의 구조를 예측하고, 이를 물리 시뮬레이션 도구로 검증하는 파이프라인을 구축하는 식이다.

만약 로컬 환경에서 단백질 서열 분석을 위한 기본적인 환경을 구축하고 간단한 추론을 실행해보고 싶다면, 다음과 같은 절차를 따를 수 있다. 여기서는 Python 기반의 바이오인포매틱스 라이브러리와 간단한 모델 인터페이스를 가정한다.

  1. 가상 환경을 생성하고 필요한 라이브러리를 설치한다.
  2. 학습된 모델 가중치 파일을 로드하고 입력 서열을 전처리한다.
  3. 추론을 통해 최적화된 서열을 생성하고, 물리적 특성(예: 소수성, 전하)을 계산하여 필터링한다.
# 1. 환경 설정 및 라이브러리 설치
pip install biopython torch transformers

# 2. 간단한 단백질 서열 분석 및 필터링 스크립트 예시
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

# 모델 로드 (예: ESM-2 모델)
tokenizer = AutoTokenizer.from_pretrained("facebook/esm2_t6_8M_UR50D")
model = AutoModelForCausalLM.from_pretrained("facebook/esm2_t6_8M_UR50D")

# 분석할 단백질 서열
sequence = "MKVLWAALLVTFLAG"
inputs = tokenizer(sequence, return_tensors="pt")

with torch.no_grad():
    outputs = model(**inputs)
    # 여기서 logits를 분석하여 다음 아미노산의 확률 분포를 계산하거나 
    # 특정 도메인의 특성을 추출할 수 있습니다.
    print(f"Sequence representation shape: {outputs.last_hidden_state.shape}")

# 3. 물리적 필터링 (가상 예시: 특정 잔기 비율 체크)
def filter_sequence(seq):
    hydrophobic_residues = "VILFMWA"
    ratio = sum(1 for r in seq if r in hydrophobic_residues) / len(seq)
    return ratio > 0.3 # 소수성 비율이 30% 이상인 경우만 통과

if filter_sequence(sequence):
    print("Candidate Passed: Valid hydrophobic profile")
else:
    print("Candidate Rejected")

실제로 위와 같은 코드를 돌려보면, 단순한 서열 입력만으로는 유의미한 ‘약물’을 만들 수 없다는 것을 금방 깨닫게 된다. RuntimeError: CUDA out of memory 같은 메모리 에러를 마주하며 거대 모델의 무게를 느끼거나, 예측된 서열이 실제 물리 법칙상 불가능한 구조(Steric clash)를 가진다는 것을 발견하게 될 것이다. 바로 이 지점에서 컨버지바이오가 말하는 ‘물리 기반 도킹 시스템’과 ‘실험적 검증 루프’의 필요성이 드러난다.

다음에 고민해 볼 것: AI와 실험실의 완전한 결합

컨버지바이오의 사례를 통해 배운 가장 큰 교훈은 AI가 도구가 아니라 워크플로우 그 자체가 되어야 한다는 점이다. 모델의 파라미터 수를 늘리는 것보다, 생성된 결과물을 어떻게 빠르게 실험실(Wet-lab)에서 검증하고 그 데이터를 다시 모델에 피드백(Fine-tuning)하느냐가 승부처가 된다.

이제 우리는 질문을 바꿔야 한다. “AI가 어떤 약물을 찾아낼 수 있는가?”가 아니라, “AI가 실험실의 시행착오 횟수를 얼마나 획기적으로 줄여줄 수 있는가?”로 말이다. 만약 여러분이 개발자라면, 혹은 데이터 과학자라면 자신의 도메인에서 ‘모델’을 넘어선 ‘시스템’을 구축하기 위해 어떤 검증 루프를 설계하고 계신가요? 단순한 API 호출을 넘어, 실제 물리적 세계의 피드백을 어떻게 데이터화하여 모델에 다시 밀어 넣을 수 있을지 고민해 보는 시간이 필요할 것 같다.

댓글 남기기