2026년 2월 13일 금요일

생명과학 분야의 AI-ready 데이터란 무엇인가?

들어가며

최근 생명과학과 인공지능(AI)의 결합은 더 이상 낯선 이야기가 아니다. 유전체 분석, 신약 개발, 단백질 구조 예측, 임상 데이터 분석 등 다양한 영역에서 AI는 이미 핵심 도구로 자리 잡고 있다. 그러나 한 가지 질문이 남는다.

“우리의 데이터는 과연 AI를 바로 학습시킬 수 있는 상태인가?”

이 질문에 답하기 위해 등장한 개념이 바로 AI-ready data이다.


AI-Ready Data의 의미

생명과학 분야에서 AI-ready data란 단순히 디지털 파일이 존재한다는 뜻이 아니다. AI 모델이 별도의 대규모 수작업 전처리 없이 즉시 학습과 추론에 활용할 수 있도록 구조화·정제·표준화·법적 정합성을 갖춘 데이터 상태를 의미한다.

즉, “데이터가 있다”는 것과 “AI가 쓸 수 있다”는 것은 전혀 다른 문제이다.


AI-Ready 데이터의 핵심 조건

  • 기계가 읽을 수 있는 구조 (PDF 보고서가 아닌 구조화된 포맷)
  • 표준화된 형식 (FASTQ, VCF, FHIR 등 국제 표준 기반)
  • 용어·단위의 정렬(harmonization)
  • 결측치 및 오류 정제
  • 지도학습이 가능한 레이블 존재
  • 법·윤리적 이용 근거 확보

이 중 어느 하나라도 빠지면, 데이터는 존재하더라도 AI-ready 상태라고 보기 어렵다.


분야별 예시

1. 유전체 데이터

유전체 분야에서는 다음과 같은 조건이 충족되어야 한다.

  • 품질 검증(QC)이 완료된 FASTQ
  • 정렬이 끝난 BAM 파일
  • 동일 reference build 기준의 VCF
  • 정형화된 phenotype 메타데이터
  • IRB 또는 동의 기반의 합법적 이용 근거

reference genome이 섞여 있거나, 표현형 정보가 서술형 텍스트로만 존재한다면 AI 학습용 데이터로 사용하기 어렵다.

2. 신약 개발 및 단백질 구조 데이터

단백질 구조 파일의 형식이 일관되지 않거나, binding affinity 단위가 뒤섞여 있다면 AI 모델은 제대로 학습하기 어렵다. SMILES 표현의 표준화와 타깃 명칭의 정렬 또한 필수적이다.

3. 임상 및 바이오메디컬 데이터

  • ICD, SNOMED 코드화
  • 단위 통일
  • FHIR 기반 구조화
  • 비식별화 처리
  • 시간 정보(timestamp) 정규화

임상 데이터는 특히 법적·윤리적 요건을 충족하지 않으면 AI-ready가 될 수 없다.


FAIR와 AI-Ready의 차이

FAIR 원칙(Findable, Accessible, Interoperable, Reusable)은 데이터 공유를 위한 기준이다. 반면 AI-ready는 한 걸음 더 나아가 “기계 학습이 가능한 상태”를 요구한다.

수치 일관성, feature 생성 가능성, 레이블 품질, 데이터 편향 관리까지 포함하는 개념이 AI-ready라고 할 수 있다.


데이터 성숙도 관점

단계설명
Level 0원자료(raw)
Level 1정제 완료
Level 2표준화
Level 3메타데이터 완비
Level 4ML 학습 즉시 가능
Level 5대규모 foundation model 학습 가능

많은 국가 인프라는 Level 2~3에 머무르는 경우가 많다. 그러나 산업과 AI 모델은 Level 4~5를 요구한다. 이 간극이 현재 바이오 데이터 전략의 핵심 병목이다. 여기에서 제시한 6개 단계는 특정 표준 규격이 아니라 설명 목적으로 제시한 것이다.


맺음말

AI-ready data는 단순한 기술 용어가 아니다. 이는 데이터 표준, 품질 관리, 법적 정합성, 국가 전략, 그리고 미래 산업 경쟁력과 직결된 개념이다.

이제 질문은 하나로 정리된다.

“우리는 데이터를 저장하고 있는가, 아니면 AI를 준비시키고 있는가?”

AI-ready data의 단순한 현황 집계(따라서 많은 행정력을 낭비하게 되는)를 비판적으로 바라본 별도의 글('The Illusion of Measuring AI-Ready Data, AI 데이터는 숫자로 세어지는가')로 작성해 두었다. 데이터를 AI-ready 형태로 만드는 일, 심지어 데이터가 AI 활용 가능한 상태인지 판별하는 일 자체도 연구의 영역일 수 있다. 


이 글은 정해영의 아이디어를 바탕으로 AI(ChatGPT)의 도움을 받아 작성되었습니다. CC0 1.0으로 자유 이용 가능하며, 정확성 및 법적 책임은 보장하지 않습니다. This text was written with AI (ChatGPT) assistance based on the author’s ideas. Released under CC0 1.0. No guarantee of accuracy is provided, and no liability is assumed.

2026년 2월 7일 토요일

LUCY의 '아니 근데 진짜' 그럼 커버 연주 및 원곡과 비교하기

실제 드럼셋 앞에 앉아서 내가 이 '보이 밴드'의 곡 드럼 파트를 연주하는 영상을 기대하셨다면 여러분은 약간의 과대 광고에 낚인 셈이다. 그러나 이 글의 제목이 100% 거짓은 아니다! 나는 분명히 컴퓨터 앞에 앉아서 자작 드럼패턴 입력/편집/재생기(APS, Ardule Pattern Studio)를 사용하여 스텝 단위로 드럼 연주 데이터를 입력하여 넣었기 때문이다. 이를 『아니 근데 진짜』원곡의 뮤직 비디오와 비교한 영상을 만들어서 유튜브에 올렸다. 

녹음 및 영상 편집 작업을 자주 하는 편이 아니기 때문에 관련 프로그램을 쓰는데 아주 능숙하지는 못하다. OBS Studio의 설정이 살짝 틀어져 있어서 컴퓨터 화면을 완전히 꽉 채우지 못하던 문제를 이번 작업을 하면서 바로잡았다. 아래에 소개한 영상을 만들면서 나름대로 최선을 다했지만 LUCY의 유튜브 원본과 APS 화면은 오디오와 잘 일치하지 않는다. 두 종류의 오디오를 먼저 녹음한 뒤 아래 절반의 화면에서는 원본 뮤직비디오와 APS를 시연 목적으로만 보이기 위해 자체 소리는 죽이고 재생한 것이기 때문이다.


유튜브 영상과 APS를 완벽하게 싱크로나이즈하는 것은 근본적으로 불가능하다. 따라서 두 가지의 오디오 클립을 Audacity에서 위 아래로 배열한 뒤 유튜브의 것은 그대로 두고 APS 오디오 클립의 길이를 조정하였다. 이론적으로 BPM을 동일하게 맞추었다 해도 DAW를 쓰는 환경이 아니라서 마스터 클럭에 완벽하게 맞출 수는 없다. Audacity 3.7.7 기준으로 실제 작업한 방법은 이러하다. 두 오디오 클립을 펼쳐 놓은 뒤 조정할 클립을 선택한 다음 Efffect -> Pitch and Tempo > Change Tempo... 대화상자로 들어가면 전체 길이를 최소 10밀리초 단위로 늘이거나 줄일 수 있다. 만약 시작과 끝 부분에 슬레이트를 치듯이 오디오 '스파이크'를 만들어 놓는다면 더욱 쉽게 싱크로나이제이션이 가능할 것이다. 

Audacity에서 오디오 클립의 템포 조정. 어차피 드럼 녹음만 처리하는 것이라서 피치가 바뀌는 것에 신경을 쓸 필요가 없다.

녹음은 Audacity에서, 화면 녹화는 OBS Studio에서, 그리고 최종 편집은 OpenShot Video Editor에서... 전부 무료 프로그램이라서 기능에 분명히 한계가 있지만 취미 수준으로는 충분하다.

밴드에서 같이 활동하는 젊은 멤버들 덕분에 이런 젊은 취향의 곡에 흥미를 느끼고 연습을 하게 되었다. LUCY의『조깅』도 마음에 드는 곡이다. 50대 중반인(아직 중반이라고 주장하고 싶은) 내가 만약 방구석에서 계속 혼자만의 취미 음악활동에 몰두하였다면 이런 새로운 세계를 접하지 못했을 것이다. 젊은 멤버들에게 감사를!

원래 기타나 건반을 더 오래 다루었지만 내가 현실적으로 밴드에서 맡은 포지션은 베이스. LUCY 곡의 베이스는 초보자인 내가 커버하기에 쉽지 않다. 음율의『파도혁명』도 마찬가지였다. 이런 곡들은 오리지널 음원을 감상하기에는 좋지만 밴드가 현장에서 그 분위기를 살려서 연주하기는 쉽지 않다. 이런 어려움을 덜어주는 좋은 동반자는 바로 플레이댓케이팝이 제공하는 밴드용 편곡과 동영상이다. 드럼+기타+베이스+건반 단 4개의 악기만 가지고도 『아니 근데 진짜』연주가 가능하니까 말이다.


APS의 다음 단계 개발은 AKAI MPK MINI MKII 키보드를 실시간 드럼 패턴 입력기로 쓰도록 개량하는 일이다. 기본 설계는 마친 상태인데 아직 코드 패치는 적용하지 않았다. 좀 있으면 옷을 갈아입고 밤 달리기를 하러 나가야 하기 때문.

ChatGPT 자동 생성 이미지.

생각보다 방대해진 Ardule Drum Patternology 생태계(GitHub)를 정리하는 쉬운 문서와 그림 자료를 계속 만들어 가가야 되겠다.


2026년 2월 1일 일요일

APS StepSeq 기능의 사소한 수정

Ardule Pattern Studio의 StepSeq에 몇 가지 편집 기능을 추가하다 

곡 전체에 해당하는 드럼 패턴 데이터를 자작 프로그램의 스텝 시퀀서 기능으로 찍어 보고 나서 개선 아이디어가 몇 가지 떠올랐다. 마디(bar) 단위로 데이터를 전부 지우거나, row(악기) 또는 column(스텝, 즉 시간) 단위로 한꺼번에 지우는 기능이 있으면 정말 편리할 것 같았다.

  • Shift + B(bar): 마디 전체 데이터 삭제
  • Shift + R(row): 악기 전체 데이터 삭제
  • Shift + C(column): 스텝 전체 데이터 삭제
모든 삭제 동작은 편집창에 띄운 해당 마디에서만 이루어진다.


Undo 기능은 별로 중요하지 않다. 저장하지 않고 상위 메뉴로 나갔다가 다시 'S'키를 눌러서 StepSeq 기능으로 들어오면 되니까 말이다. 

이런 소소한 편집 기능을 직접 만들고 있는 나 자신을 돌아보았다. 명령만 내리면 인공지능이 완벽한 수준의 음악을 만들어 주는 시대에 드럼 패턴 입용 스텝 시퀀서를 직접 코딩하고 있다니! 

드럼 악보 표기의 수수께끼

나는 드럼을 칠 줄 모르지만, 데이터를 직접 다루면서 드럼이라는 악기의 매력에 한층 더 다가간 것 같다. 정말 흥미로운 사실이지만 드럼 악보를 표기하는 방법은 아직도 완벽하게 통일되지 않았다고 한다. 인터넷을 검색하면 다음과 같이 드럼세트와 오선악보를 매칭시켜 놓은 그림이 자주 보인다. 누가 고안했는지 아주 이해하기 쉽다.

그림 출처: drumeo "How to read drum music (for beginners)"

심벌 계열의 악기는 특히 오선악보 표기법이 통일되어 있지 못하다. 국내외의 표기 관행이 다른 것도 문제이다. 예를 들어 내가 구한 드럼테라스의 <아니 근데 진짜> 드럼 악보(링크)를 보면 공부할 거리가 잔뜩 나온다. 이 악보 전체에서 라이드 심벌을 치라는 지시는 없었던 것 같다.

드럼 악보 표기의 수수께끼.

애초에 드럼이라는 악기의 연주 정보를 오선보로 표기하려는 시도 자체가 불가능한 것인지도 모른다. 라이드 심벌만 하더라도 컵과 엣지를 칠 때 매우 다른 소리가 나지 않는가? 이러한 상세한 지시사항은 음표가 아니라 글로 적어 놓아야 할 것이다. 디지털의 세계에서는 있을 수 없는 일이다. 기록과 재생에서 차이가 있을 수 없기 때문이다. 하지만 아날로그의 세계에서 기록이나 표준화는 그야말로 '최소한'일 뿐이다. 나머지를 이루는 대부분은 연주자의 재량에 맡겨질 뿐이며, 녹음된 음원도 일종의 레퍼런스인 셈이다.

어쩌면 내가 드럼 악보를 보면서 갖는 의문은 MIDI 프로그래밍 초급 교실에서 한번씩 다 훑고 지나가는 매우 기본적인 사항인지도 모른다. 그렇다 하더라도, 실제로 곡 전체의 리듬을 데이터로 다루고 직접 구현해 보지 않았다면 이런 질문에 도달하는 일은 없었을 것이다. 하드웨어-소프트웨어(펌웨어 포함)을 거쳐 오히려 드럼이라는 악기 연주의 본질에 더 가까이 다가갔다고나 할까.

APS로 만든 드럼 데이터 시험 연주

400개가 넘는 드럼 패턴 데이터(?)를 집대성하였으나 최신 기성곡에 딱 맞는 패턴을 골라서 쓰는 일은 쉽지 않다. Ardule Drum Patternology 생태계의 좋은 점은 드럼 패턴을 스텝 시퀀서에서 직접 입력할 수 있다는 것. 우리 밴드의 보컬리스트가 꼭 부르고 싶어 하는 LUCY의 <아니 근데 진짜>의 드럼 연주를 Ardule에서 생태계에서 구현해 보기로 하였다.

드럼 악보는 드럼테라스에서 사용에 제한 없이 제공하는 것(PDF 링크)을 입수하여 사용하였다. 드럼 악보 표기법을 잘 알지는 못하는 상태라서 약간의 어려움이 있었다. 특히 이 악보 체계에서는 크래시와 라이드 심벌을 때리는 방법을 구별하기가 어려웠다.

결국 보유한 패턴은 하나도 쓰지 못했고, 전부 새로 입력하였다. 하이햇의 닫힌 정도를 달리 하면서 타격하는 뉘앙스 차이를 완벽하게 반영하지는 못한다. 타격의 세기(velocity)도 0-약-중-강의 4단계가 전부이지만, 없는 것보다는 낫다. 총 35개의 패턴(2 마디 단위)를 입력하였다. 데이터를 입력하면서 APS 파이썬 스크립트에 남아 있던 약간의 버그를 수정하는 예기치 못한 좋은 일도 있었다.

섹션 정보를 넣을 수 있어서 곡 단위의 데이터 입력 및 편집이 쉽다. 이 곡에 사용한 패턴의 접두어는 'AGJ'이다. 짜의 머릿글자를 대충 따서 사용하였다.

템포는 142 BPM으로 상당히 빠르며 결코 쉬운 곡은 아닌 것 같다. 나는 드럼 연주자가 아니므로 그 어려움을 어떻게 이해하겠는가. 유튜브에서 원곡의 영상과 함께 템포를 맞추어 재생하면서 촬영을 해 보았다. 키보드 조작으로 재생을 하였으니 두 사운드가 서로 완벽하게 싱크가 맞을 수는 없다. 유튜브 쇼츠로도 올렸지만 자막이 너무 커서 화면을 많이 가린다.

올해에는 드러머가 참여하기 어려운 공연에서 이 시스템이 쓰일 수 있을 것이라고 믿는다. 여기까지 온 것도 정말 큰 성취가 아닐 수 없다.