신약 개발에서는 소위 고전적인 역장에 기반한 접근 방식이 일상적으로 사용되어 왔으며 유용한 것으로 간주되었습니다. 그러나 역장 모델에는 몇 가지 중요한 물리효과가 누락되어 적용 가능성이 제한된다는 사실도 널리 알려져 있습니다.
예를 들어, 역장 모델에서는 단백질 분극을 고려하지 않기 때문에 형식 전하가 다른 두 분자를 서로 비교할 때 정확한 예측을 제공하지 않습니다. 더욱이 이러한 모델은 화학 결합을 형성하고 끊는 능력이 부족하기 때문에 공유 결합 약물 분자에는 적용되지 않습니다.
많은 사람들은 미시 세계를 지배하는 기초 물리학인 양자 역학에 기반한 시뮬레이션이 이러한 문제의 해결책이라는 데 동의했습니다. 다만 시간과 비용이 너무 많이 필요한 점 때문에 양자 역학 시뮬레이션은 실용성이 없다고 여겨지고 있습니다.
QSimulate는 최근에 전례 없는 처리량으로 양자 역학 기반 자유 에너지 섭동(FEP) 시뮬레이션을 지원하는 QUELO-G의 출시를 발표했습니다. GPU 카드 처리량당 일일 100나노초 이상으로 이러한 시뮬레이션은 몇 시간 이내에 수행됩니다. 양자 역학 기반 시뮬레이션을 직접 적용하여 신약 분자를 식별하면 컴퓨터 지원에 의한 신약 개발은 획기적으로 바뀔 것입니다.
이 게시물에서는 QSimulate가 혁신적인 알고리즘을 개발하고 NVIDIA A100 및 NVIDIA H100등 NVIDIA에서 출시한 최신 GPU 하드웨어를 활용하는 소프트웨어에 알고리즘을 구현하여 이러한 과제를 어떻게 해결하고 있는지 설명합니다. 긴밀하게 최적화된 소프트웨어는 CUDA 그래프의 조건부 그래프 노드(버전 12.3에서 도입 및 버전 12.4에서 향상된 기능)를 포함하여 최근 CUDA 툴킷에서 사용할 수 있는 일부 기능을 활용합니다.
양자 역학의 처리량 과제
신약 개발을 위한 시뮬레이션의 중요한 측면 중 하나는 각 에너지 및 힘 평가가 수 밀리초 단위로 수행되어야 한다는 것입니다. 이 요구 사항은 단백질이 유연하고 시간이 지남에 따라 모양이 변하기 때문에 특성을 정확히 예측하려면 수 나노초에 걸쳐 분자 역학(MD) 시뮬레이션을 통해 열역학 앙상블을 샘플링해야 한다는 사실에서 비롯됩니다. 이를테면 단백질 표적에 대한 약물 분자의 결합 친화성이 그 예시입니다.
목표가 일일 100나노초의 역학 처리량(2펨토초의 표준 시간 단계 적용 시)을 달성하는 것이라면 각 시간 단계는 2밀리초 미만의 벽 시간 내에 완료되어야 합니다. 기존의 역장 시뮬레이션은 이 처리량을 달성하는 것으로 입증되었습니다. 예를 들어, GROMACS 및 NAMD에 관한 관련 게시물을 참조하세요.
기존에는 최신 NVIDIA GPU 하드웨어로도 양자 역학 시뮬레이션을 밀리초 단위로 가속화하는 것이 불가능하지는 않지만 어렵다고 여겨졌습니다. 그 이유는 GPU에서 양자 역학 시뮬레이션의 기존 구현이 대부분 대체로 몇 시간에서 몇 분으로 또는 며칠에서 몇 시간으로 대규모 계산(예: 결합 클러스터 계산 및 대규모 밀도 함수 이론 계산)의 가속화에 중점을 두었던 데서 일부 찾을 수 있습니다. 자세한 내용은 GPU 가속 양자 화학 및 분자 역학을 참조하세요.
이는 유용하기는 하지만 처리량이 수십 배 차이가 나기 때문에 신약 개발을 위한 자유 에너지 계산에는 직접 적용할 수 없습니다. 엄밀히 말하자면 양자 역학의 처리량 문제는 양자 역학이 본질적으로 반복해서 해결해야 하는 많은 수의 매개변수가 있는 최적화 문제라는 사실에서 비롯됩니다.
이는 필연적으로 복잡한 제어 논리를 도입하고 동시성의 정도를 제한합니다. 단순하게 구현하면 양자 역학에 대한 복잡한 논리로 인해 디바이스와 호스트 간의 통신이 자주 발생하여 GPU의 사용률이 감소합니다.
QUELO-G는 긴밀한 결합 양자 역학 접근 방식(GFN-xTB) 및 하이브리드 양자 역학 및 분자 역학(QM/MM) 체계와 함께 CUDA 그래프를 사용하여 이 문제를 극복했습니다.
CUDA 그래프 및 조건부 노드를 사용하는 기술 솔루션
반복 양자 역학 알고리즘의 예로 Krylov 부분 공간 알고리즘 을 생각해 보세요. 이 접근 방식은 시행 벡터로 구성된 부분 공간을 구성하며, 여기서 새로운 시행 벡터는 이전 반복을 출처로 하는 최적 솔루션에서 생성됩니다. 이 프로세스는 수렴 기준이 충족될 때까지 반복됩니다. 그림 1은 알고리즘의 개략도입니다.
이 알고리즘을 구현하는 표준 방법은 호스트가 루프 및 조건 브랜치를 담당하도록 만드는 동시에 그 밖의 모든 부분은 디바이스에 오프로드하는 것입니다. 시행 벡터(및 그에 따른 부분 공간)는 디바이스 메모리에 보관할 수 있습니다. 하지만 스칼라 값인 잔여 오류는 호스트에서 수행되는 제어 로직에 대해 반복할 때마다 디바이스에서 호스트로 전달해야 합니다.
디바이스와 호스트 간의 통신 지연 시간은 스칼라 변수의 경우에도 무시할 수 없는 수준입니다. 이러한 지연 시간은 기본 알고리즘의 구조로 인해 반복적으로 발생하므로 시간 단계당 밀리초 처리량을 계속 달성하는 동안 양자 역학 기반 역학 시뮬레이션의 전반적인 성능에 있어 중요한 요인이 됩니다.
QUELO-G의 소프트웨어 구현은 최근 CUDA 그래프에 도입된 조건부 그래프 노드를 사용합니다(CUDA 12.3부터 적용). 이 기능을 사용하면 양자 역학 알고리즘의 전체 반복 절차를 CUDA 그래프에 매핑할 수 있으며, 여기서 루프와 조건부 브랜치가 디바이스에서 수행됩니다(그림 2). 따라서 매회 반복 시 디바이스에서 호스트로 스칼라를 전달할 필요가 없습니다. 이 접근 방식은 성능을 크게 향상시킬 뿐만 아니라 향상된 추상화를 통해 코드 구조를 단순화합니다.
또한 소프트웨어는 CUDA 그래프를 사용하여 코드를 추상화함으로써 기존 NVIDIA A100 및 NVIDIA H100 GPU와 향후 NVIDIA GPU를 위한 CUDA 그래프 런타임의 추가 개발 및 최적화의 이점을 자동으로 활용할 수 있습니다.
양자 역학 기반의 자유 에너지 섭동 시뮬레이션 성능
상기의 구현 전략을 활용하면 하루에 100나노초 이상의 QM/MM 역학 처리량을 달성할 수 있습니다. QSimulate의 프로덕션 플랫폼은 상업적인 이유로 시뮬레이션당 비용을 최소화하는 데 사용되므로 MIG(Multi-Instance GPU)는 대체로 GPU에서 7개의 동시 역학 시뮬레이션을 수행하는 데 사용됩니다. 그림 3은 단위 세포에서 약 25K의 고전 원자로 구성된 단백질-리간드 시스템의 A100 및 H100 GPU에서 측정된 처리량을 정리한 것입니다.
이미 A100을 통해 소분자 약물의 일반적인 크기인 74개의 원자로 구성된 양자 역학 영역의 시뮬레이션을 위한 QM/MM MD 처리량이 1일 100나노초를 초과했습니다. 하나의 H100에서 QM/MM MD 및 FEP 처리량은 각각 120 및 90나노초로 측정되었습니다. 200개의 원자로 구성된 더 큰 양자 역학 영역을 통해 A100과 H100 사이에서 50% 이상의 더 큰 속도 향상이 관찰되었습니다. 이러한 타이밍은 미래의 혁신과 소프트웨어 최적화를 통해 더욱 개선할 수 있습니다.
이러한 결과는 QSimulate 팀이 RIKEN의 Sugita 그룹과 협업하여 이전에 개발한 최적화된 CPU 구현과 비교됩니다. 그림 4는 그 결과입니다. 그림 4에서 4개의 열은 그림 3에서 4개의 양자 역학 영역에 해당합니다. CPU 및 GPU 구현의 기본 알고리즘은 컷오프, 임계값 및 매개변수를 포함해 동일합니다. CPU 코드는 GPU 구현만큼 긴밀하게 최적화되어 있으므로 그림 4는 상이한 하드웨어 아키텍처 간의 공정한 비교를 나타냅니다.
CPU 타이밍 벤치마크는 Intel Xeon 8375C(Ice Lake)의 CPU 코어 4개로 측정되었으며 그 결과는 단순성을 위해 CPU 코어 1개에 대한 벤치마크로 변환되었습니다. CPU 하드웨어를 대상으로 하는 QSimulate의 프로덕션 플랫폼은 이 타이밍 벤치마크에서와 같이 4개의 CPU 코어를 사용하는데, 무엇보다도 CPU 시뮬레이션을 더 많은 수의 스레드와 CPU 코어로 확장하기가 어렵기 때문입니다.
74개의 양자 역학 원자로 구성된 최소 양자 역학 영역에서도 GPU 카드의 원자와 CPU 코어의 원자 간 처리량 비율은 A100 및 H100 카드의 경우 각각 약 140 및 170인 것으로 관측되었습니다. 양자 역학 영역이 커질수록 처리량 비율이 더욱 중요해집니다. 200개의 양자 역학 원자를 통해 H100 카드를 사용한 처리량은 265개의 CPU 코어를 사용한 처리량과 같습니다.
AI 시대의 시뮬레이션
AI가 사회를 혁신하고 있는 지금, 물리효과 기반 시뮬레이션은 그 어느 때보다 중요합니다. 신약 개발과 같은 복잡한 워크플로우의 디지털 혁신에는 AI 모델에 더 많은 데이터를 공급하는 정확한 시뮬레이션 접근 방식을 통해 AI 예측을 빠르고 안정적으로 평가해야 합니다. 이 게시물에 간략히 설명된 발전 사항 즉, 최초의 시간 단계당 밀리초 단위의 양자 역학 기반 시뮬레이션은 QSimulate의 분야별 지식과 소프트웨어 엔지니어링이 최신 CUDA 툴킷과 소프트웨어 스택을 포함한 NVIDIA 하드웨어 및 소프트웨어와 함께 연계하여 디지털 발견의 다음 패러다임으로 도약하는 데 어떻게 도움을 주었는지를 보여줍니다.
신약 개발을 위한 GPU 가속 양자 역학 시뮬레이션에 대해 자세히 알아보고 시작하려면 QUELO-G 제품 페이지를 참조하세요.
관련 리소스
- GTC 세션: 양자 기반 모델과 머신 러닝의 결합으로 신약 개발 가속화
- GTC 세션: 신약 개발 가속화: CUDA 그래프, 매핑 메모리, C++ 코루틴 등을 활용한 동적 GPU 워크플로우 최적화
- GTC 세션: GPU 및 체외 검증을 사용하여 AI 지원 드노보 분자 생성 가속화
- NGC 컨테이너: 화학정보학 데모
- SDK: CUDA Quantum
- 웨비나: NVIDIA 컴퓨팅을 통해 병원에 필요한 신약을 보다 빨리 공급하다