엔비디아 GPU로 코로나19 바이러스 비밀 캐는 사람들

마이크로바이옴 미생물 분석키트로 코로나19 연구 진행 중
by NVIDIA Korea
0514 블로그

미국정부가 코로나19 확산 억제를 위해 전국 봉쇄령을 내리기 며칠 전, 대니얼 맥도널드는 자신이 평생을 연구해온 내용이 코로나19 사태에 대항할 수 있는 해결책이 될 수 있다는 것을 깨달았습니다.

그가 이끄는 연구팀이 제작하려고 했던 수 만 개의 분석키트가 용도만 변경하면 신종 코로나 바이러스의 원인을 연구하는데 사용될 수 있기 때문이었습니다.

맥도널드는 마이크로바이옴을 주제로한 미국인 장 연구 프로젝트(American Gut Project)와 마이크로제타 이니셔티브(Microsetta Initiative)의 연구팀장입니다. 마이크로바이옴은 우리 주변에 거의 모든 생명체를 구성하는 단세포 미생물군인데요, 맥도널드 팀이 개발한 분석키트는 실온에 보관된 인간의 배변 샘플을 안전하게 채취·운송이 가능한 최초의 도구였습니다.

그 분석키트는 원래 광범위한 미생물학 연구 목적으로 개발됐지만, 맥도널드 연구팀은 이번 코로나 팬데믹 연구에 이 분석키트를 지원해야겠다고 결심했다고 합니다.

면밀한 스크리닝을 통해 변이를 거듭하는 코로나 바이러스의 확산패턴을 발견할 지도 모릅니다. 이런 정보는 감염 확산 속도를 줄이려는 공공보건 의료진에게는 엄청난 단서가 될 것입니다.

연구팀은 분석키트 이용자들로부터 충분한 데이터를 수집해 코로나 확진자들 가운데 심각한 증상을 보이는 사람과 아무 증상을 보이지 않는 사람이 있는 이유를 발견하길 기대하고 있습니다.

미국 캘리포니아 샌디에고 대학교(이하 UCSD) 롭나이트(Rob Knight) 연구소 소속 맥도널드 팀장은 “롭나이트 연구소의 모든 연구진은 사람들의 생명을 구하는 일에 도움을 줄 수 있다는 것을 매우 기쁘게 생각하고 있습니다. 또 RNA 전문가를 비롯해 코로나바이러스 연구에 적용 가능한 기타 분야 전문가들과 긴밀하게 협력할 수 있어서 행운이라고 생각합니다”라고 말했습니다.

최적의 시점에 필요한 최적의 연구

분석키트 개발이 마무리 단계에 접어들면서, 연구팀에게 또 다른 행운이 따르게 됐습니다.

샌디에고 슈퍼컴퓨터 센터(San Diego Supercomputer Center, 이하 SDSC) 소프트웨어 개발 팀장 이고르 스필리고이(Igor Sfiligoi)는 연구팀이 마이크로바이옴 분석에 사용했던 저사양 유니프랙(UniFrac) 소프트웨어의 최신버전을 엔비디아 GPU에 맞게 최적화 했는데, 그 결과가 놀라웠습니다.

113,000개 샘플의 유전자 분석에는 한 서버 클러스터에서 1,300 CPU 코어시간 (싱글 CPU는 약 900시간)이 필요하지만 단 한 개의 엔비디아 V100 텐서 코어 GPU(NVIDIA V100 Tensor Core GPU) 에서는 500배 빨라져 분석시간이 2시간도 채 걸리지 않습니다. 여덟 개의 V100 GPU 클러스터에서는 15분 내에 분석을 끝낼 수 있죠.

연구원들은 엔비디아 지포스 RTX 2080 Ti(NVIDIA GeForce RTX 2080 Ti)가 탑재된 워크스테이션을 이용해 단 9시간만에 분석을 끝낼 수 있습니다. 서버 CPU 한 개를 사용했을 때 13시간이나 걸리던 소규모 데이터세트 처리도 엔비디아 GTX 1050 GPU 기반 노트북 하나면 한 시간을 조금 넘긴 시간 내에 끝낼 수 있죠.

맥도널드는 “고성능 컴퓨터를 사용할 수 없었던 사람들에게 이것은 완전히 신세계”라고 말합니다. 예를 들어 개인 연구자들이 유니프랙을 비정형 쿼리(ad-hoc query) 검색 툴로 사용할 수 있습니다.

연구소에서 여섯 개의 V100 GPU 클러스터를 사용해 점점 규모가 커지고 있는 데이터 세트 분석도 할 수 있게 되었죠.

맥도널드는 113,000개 샘플에 대한 스필리고이 팀장의 연구가 “지금까지 진행된 미생물 분석 중 최대 규모일 것”이라고 전했습니다.

GPU가 유니프랙(UniFrac)을 가속화한 세가지 방법

속도 향상을 위해 세 가지 핵심 기술이 사용됐는데요. 스필리고이는 GPU 병렬 컴퓨팅 솔루션인 오픈에이씨씨(OpenACC)을 사용해 스트라입트 유니프랙(Striped UniFrac) 코드의 타이트 루프(tight loop)를 가속화한 다음, 메모리 최적화를 적용했습니다. 64비트에서 32비트 부동 소수점 수학(floating-point math)으로 다운그레이드해 실험의 정확성을 떨어뜨리지 않으면서 속도를 높였습니다.

1
유니프랙을 GPU에 최적화한 SDSC의 스필리고이 팀장

스필리고이 팀장은 OpenACC의 초기 최적화를 며칠만에 완성시켰습니다. 다른 최적화 작업은 연구팀이 유니프랙의 컴퓨팅과 메모리 액세스에 무엇이 필요한지 파악하면서 몇 주에 걸쳐 점진적으로 진행되었습니다.

스필리고이 팀장은 엔비디아가 진행하는 인공지능(AI), 데이터 사이언스, 딥 러닝, 고성능컴퓨팅(HPC) 분야와 관련된 수천 가지의 새로운 기술을 배울 수 있는 무료 온라인 행사 ‘GTC 디지털’의 한 세션에서 발표한 바 있는 획기적인 연구가 진행된 직후에 최적화 작업을 마칠 수 있었습니다. 스필리고이 팀장은 천문학 연구용도로 쓰이는 공공 클라우드 서비스의 엑사스케일(exascale)급 성능을 갖춘 GPU를 활용했습니다.

엔비디아는 스필리고이 팀장의 다음 연구과제에도 함께할 예정입니다. 스필리고이 팀장의 다음 연구 목표는 유니프랙 기반 GPU 최적화를 생물학자들이 매일 사용하는 소프트웨어에 적용하는 것입니다.

대규모 데이터 처리에 취약한 CPU 기반 시스템

한편, 맥도널드 연구팀은 유니프랙을 바이러스 데이터 처리 작업에 맞게 조정해야 합니다. 또한 연구 중에 생성되는 방대한 데이터를 오류가 없도록 체계적으로 정리해 자체적으로 처리 가능한 데이터세트로 변환해야 하는 문제도 해결해야 하죠.

기술적인 면에서는 많은 데이터 스토리지와 고성능 컴퓨팅이 필요합니다. 하루에 백만 개의 마이크로바이옴을 분석해야 하는 상황이 올 경우, 20페가바이트의 스토리지와 연간 1억 회 이상의 CPU 사이클이 필요할지 모릅니다.

맥도널드는 “GPU를 통해 이런 대용량 데이터를 처리하게 되길 바란다”고 말합니다.

코로나바이러스군이 인간과 가축에 영향을 미치고 있는 기간을 따져보면 이 연구작업의 잠재력이 매우 크다는 걸 알 수 있습니다.

맥도널드는 “전 세계 사람들이 코로나바이러스가 어떤 식으로든 생산성에 영향을 준다는 걸 실감하고 있습니다. 이제는 이렇게 오래 지속되고 있는 코로나바이러스군에 대한 관리법을 찾아야할 시점”이라고 말했습니다.

UCSD 연구팀의 이런 노력은 코로나19에 대응하기 위해 엔비디아 GPU와 고성능 컴퓨팅을 활용한 대규모 연구 프로젝트 네트워크의 한 예입니다.

전세계적으로 아시아, 호주, 유럽, 미국에 위치한 30개 이상의 슈퍼컴퓨터들이 이 연구에 참여하고 있으며, 코로나19 고성능 컴퓨팅 컨소시엄만 해도 41,000개의 GPU 등 420 페타플롭스급의 성능을 갖춘 30개 이상의 프로젝트가 진행되고 있습니다.

메인 이미지: UCSD 나이트 연구소에 있는 롭 나이트(왼쪽)와 대니얼 맥도널드.

이미지 제공: 에릭 젭슨/UC 샌디에고 출판사