
최근 테크 뉴스레터와 벤처 캐피털의 포트폴리오 리스트에서 ‘AI 신약 개발’이라는 키워드가 심상치 않은 빈도로 등장하고 있다. 단순한 효율화를 넘어, 수년이 걸리던 R&D 타임라인을 획기적으로 단축하려는 시도가 제약 업계의 거대한 흐름으로 자리 잡은 모습이다. 특히 생성형 AI가 단백질 구조나 분자 데이터를 학습해 새로운 후보 물질을 직접 설계하는 단계에 진입하면서, 자본의 흐름 또한 이 지점으로 빠르게 쏠리고 있다.
Bessemer와 빅테크가 주목한 Converge Bio의 전략
보스턴과 텔아비브에 기반을 둔 Converge Bio가 최근 Bessemer Venture Partners의 주도로 2,500만 달러 규모의 시리즈 A 투자를 유치했다. 이번 라운드에는 TLV Partners, Saras Capital, Vintage Investment Partners뿐만 아니라 Meta, OpenAI, Wiz의 임원들이 개인적으로 참여했다는 점이 매우 흥미롭다. 이는 단순히 자금 조달을 넘어, 현재 가장 앞서나가는 AI 엔지니어링 그룹이 생명 과학 분야의 데이터 처리 방식에 주목하고 있음을 시사한다.
Converge Bio의 핵심은 DNA, RNA, 단백질 서열 데이터를 학습한 생성형 모델을 제약사의 기존 워크플로우에 직접 통합하는 것이다. CEO 도브 거츠(Dov Gertz)는 신약 개발의 전 과정, 즉 타겟 식별부터 제조, 임상 시험에 이르기까지 각 단계에서 AI가 지원할 수 있는 실험적 영역이 무궁무진하다고 강조한다. 기존의 ‘시행착오(Trial-and-Error)’ 방식에서 벗어나 데이터 기반의 예측 모델로 전환하는 것이 이들의 궁극적인 목표다.
단일 모델을 넘어선 통합 시스템의 설계
엔지니어링 관점에서 Converge Bio가 접근하는 방식은 단일한 거대 모델 하나에 의존하는 것이 아니라, 목적에 맞는 이산적 AI 시스템(Discrete AI Systems)을 구축하는 것이다. 이들은 이미 항체 설계, 단백질 수율 최적화, 바이오마커 및 타겟 발견이라는 세 가지 독립적인 시스템을 선보였다.
특히 항체 설계 시스템의 구조를 보면 전형적인 파이프라인 아키텍처를 따르고 있다. 먼저 생성형 모델이 새로운 항체 후보를 만들어내면, 예측 모델이 분자적 특성을 기준으로 이를 필터링하고, 마지막으로 물리 기반 모델을 사용하는 도킹 시스템이 항체와 타겟 사이의 3차원 상호작용을 시뮬레이션한다. 개발자 입장에서 보면 이는 일종의 ‘필터링 체인’ 구조로, 각 단계에서 정밀도를 높여 최종 결과물의 성공 확률을 극대화하는 전략이다.
AI 신약 개발 워크플로우 구현해보기
Converge Bio와 같은 플랫폼을 실제로 구현하거나 유사한 파이프라인을 구축하려는 엔지니어라면, 분자 데이터 처리와 시뮬레이션 환경 구축이 우선이다. 보통 Python 환경에서 RDKit이나 PyTorch Geometric 같은 라이브러리를 사용하여 분자 그래프를 처리하며, 시뮬레이션을 위해 GPU 가속 환경을 설정해야 한다.
다음은 분자 데이터 전처리를 위해 환경을 구성하고 간단한 분자 특성을 추출하는 기초적인 셸 명령과 파이썬 스니펫 예시다. 실제 운영 환경에서는 CUDA 버전과 PyTorch 버전의 정밀한 매칭이 필수적이다.
# 1. 가상환경 생성 및 필수 라이브러리 설치
conda create -n drug_ai python=3.9 -y
conda activate drug_ai
pip install rdkit torch torch-geometric pandas
# 2. GPU 가속 확인 및 환경변수 설정
export CUDA_VISIBLE_DEVICES=0
python -c "import torch; print(f'GPU Available: {torch.cuda.is_available()}')"
이후 생성된 후보 물질의 SMILES(Simplified Molecular Input Line Entry System) 데이터를 처리하는 기본 코드는 다음과 같이 작성할 수 있다.
from rdkit import Chem
from rdkit.Chem import Descriptors
def analyze_molecule(smiles):
mol = Chem.MolFromSmiles(smiles)
if mol is None:
return "Invalid SMILES"
# 분자량 및 LogP(지질친화도) 계산
mw = Descriptors.MolWt(mol)
logp = Descriptors.MolLogP(mol)
return {"MW": mw, "LogP": logp}
# 예시: 아스피린 분자 구조 분석
test_smiles = "CC(=O)OC1=CC=CC=C1C(=O)O"
print(analyze_molecule(test_smiles))
실제 구현 과정에서 가장 흔히 발생하는 에러는 ‘Invalid SMILES’ 반환이나 메모리 부족(OOM) 현상이다. 특히 대규모 단백질-리간드 도킹 시뮬레이션을 돌릴 때 RuntimeError: CUDA out of memory가 발생하기 쉬운데, 이 경우 배치 사이즈를 줄이거나 torch.utils.checkpoint를 사용하여 메모리 체크포인팅을 적용하는 것이 해결책이 될 수 있다.
데이터 중심의 생명과학, 그 너머의 가능성
현재 200개가 넘는 스타트업들이 AI를 연구 워크플로우에 이식하기 위해 경쟁하고 있다. Converge Bio가 성공적으로 안착할 수 있었던 이유는 단순히 AI 모델이 뛰어나서가 아니라, 제약 산업의 실제 병목 지점(Bottleneck)이 어디인지 정확히 짚어내고 이를 시스템적으로 해결하려 했기 때문이다.
결국 AI 신약 개발의 승부처는 ‘얼마나 많은 양질의 데이터를 확보하고, 이를 얼마나 정교한 파이프라인으로 연결하느냐’에 달려 있다. Meta나 OpenAI의 임원들이 투자했다는 사실은, 이제 AI의 전장이 텍스트와 이미지를 넘어 분자와 단백질이라는 ‘생명의 언어’로 확장되었음을 의미한다.
이번 사례를 통해 배운 점은 복잡한 도메인일수록 단일 모델의 성능보다 전체 시스템의 워크플로우 설계가 더 중요하다는 것이다. 만약 여러분이 데이터 사이언티스트나 엔지니어라면, 단순히 최신 LLM을 사용하는 것을 넘어 특정 산업의 물리적 제약 조건을 어떻게 모델의 필터링 단계에 녹여낼 수 있을지 고민해 보는 것은 어떨까?