16장. 상용 AI에 넣으면 안 되는 자료

지금까지 위키에 들어온 것은 출판된 논문이었다. 논문은 이미 공개된 자료이므로 어느 도구에 넣든 새로 공개되는 것이 없다. 연구가 실제 데이터에 닿는 순간 사정이 달라진다. 환자의 진료 기록, 임상 시험의 개별 참여자 자료, 재식별이 가능한 유전체 데이터, 아직 공개하지 않은 코호트의 표는 밖으로 나가면 되돌릴 수 없는 종류의 자료다. 상용 AI 서비스에 파일을 올리거나 내용을 붙여 넣는 것은 그 자료를 기관 밖으로 내보내는 행위이고 그 서비스가 학습에 쓰지 않는다고 밝혔는지와는 별개의 문제다. 규정을 판정하는 것은 소속 기관과 심의 위원회이고 그 판정 아래에서 위키를 어떻게 나눌지는 연구자가 정한다.

상용 AI에 넣으면 안 되는 자료와 안전한 처리 기준

공개 문헌은 상용 AI로 다루고 환자 자료와 재식별 가능한 데이터는 기관 폐쇄망의 로컬 모델로 다룬다. 파일명, 오류 로그, 화면 이미지, 회의 녹음도 반출 경계에 포함된다.

전송이 곧 반출인 경우

상용 AI 서비스를 쓸 때 가장 흔한 오해는 학습에 쓰이는지만 확인하면 된다는 것이다. 학습 여부는 그 자료가 다른 사람의 답에 나타날 가능성에 대한 문제이고 연구 자료에서 먼저 걸리는 것은 그 앞 단계다. 자료가 기관의 관리 범위를 벗어나 다른 회사의 서버로 전송되었다는 사실 자체가 판정 대상이 된다. 심의 승인서에 적힌 자료 보관 위치와 접근 권한자 목록이 그 판정의 기준이 되고 대체로 그 목록에 외부 서비스는 들어 있지 않다. 자료 제공 기관과 맺은 사용 협약에도 반출 조건이 적혀 있으며 다기관 연구에서는 기관마다 조건이 다르다. 확인은 자기 연구의 승인 문서에서 시작하고 서비스 약관을 그다음에 본다. 약관은 서비스가 무엇을 하지 않겠다는 약속이고 승인 문서는 연구자가 무엇을 하지 않겠다고 한 약속이다. 뒤의 것을 어기면 앞의 것이 지켜져도 소용이 없다.

이 구분을 흐리는 상황이 몇 가지 있다. 파일을 올리지 않고 내용만 붙여 넣으면 괜찮다고 생각하는 경우가 첫째인데, 전송되는 것은 같다. 기관이 계약한 서비스라면 괜찮다고 보는 경우가 둘째다. 기관 계약은 그 서비스와 기관 사이의 문제이고 특정 연구의 심의 조건과는 별개다. 자료를 조금 가공했다는 이유로 원본과 다른 자료로 보는 경우가 셋째다. 가공의 정도가 재식별 가능성을 실제로 없앴는지가 기준이고 열 이름만 바꾼 표는 여전히 원본이다. 판단이 애매하면 넣지 않는 쪽을 고른다. 넣지 않아서 잃는 것은 그 작업의 편의이고 넣어서 잃는 것은 되돌릴 수 없다.

식별 가능한 자료의 범위

직접 식별자는 판단이 쉽다. 이름, 등록번호, 주민등록번호, 연락처, 주소가 여기 해당하고 대부분의 사람이 이것들을 지운다. 문제는 간접 식별자다. 생년월일과 진료일과 진단명이 함께 있으면 특정 개인을 좁힐 수 있고 희귀질환일수록 좁혀지는 속도가 빠르다. 거주 지역과 직업과 성별의 조합도 마찬가지다. 각각은 식별자가 아닌데 함께 놓이면 식별자가 된다. 표에서 이름 열만 지우고 나머지를 그대로 두는 방식이 여기서 무너진다. 유전체 자료는 그 자체가 식별자에 가깝다. 서열 변이의 조합은 개인마다 고유하고 참조 자료와 대조하면 신원이 좁혀진다는 것이 여러 연구에서 확인되었다. 요약 통계와 개인 수준 자료를 가르는 선이 여기서 중요해지는데 앞의 것은 대체로 공개할 수 있고 뒤의 것은 그렇지 않다.

임상 기록의 서술 부분이 특히 위험하다. 진료 기록의 자유 서술란과 영상 판독 소견과 병리 보고서에는 정형화된 항목에 들어가지 않는 정보가 문장으로 들어 있고 그 문장에 직업, 가족 관계, 특이한 사건이 섞인다. 표의 열을 지우는 방식으로는 이것이 걸러지지 않는다. 문장 안에서 지워야 하고 지웠는지 확인하려면 결국 사람이 읽어야 한다. 그래서 이 자료는 지운 뒤에 밖으로 내보내는 방식보다 애초에 밖으로 내보내지 않는 방식이 안전하다. 지우는 작업 자체를 상용 AI에게 시키는 것도 같은 이유로 성립하지 않는다. 지우려면 먼저 읽어야 하고 읽게 하려면 이미 보낸 것이다.

위키를 둘로 나누는 경계

해법은 위키를 하나로 두지 않는 것이다. 출판된 문헌을 다루는 위키와 환자 자료를 다루는 위키를 물리적으로 나누고 두 위키가 서로 다른 환경에서 돈다. 문헌 위키는 지금까지 이 책이 다룬 그대로이고 상용 AI를 쓴다. 논문은 이미 공개된 자료이므로 전송해도 새로 공개되는 것이 없다. 환자 자료 위키는 기관의 폐쇄망 안에 두고 그 안에서만 도는 모델을 쓴다. 두 위키의 구조는 같아도 된다. 원자료 층과 정리 층과 종합 층으로 나누고 지침 파일을 두고 작업 로그를 남기는 방식은 그대로 쓸 수 있다. 달라지는 것은 어느 모델이 그 문서를 읽는가뿐이다.

두 위키 사이에 무엇이 오갈 수 있는지도 정해 둔다. 문헌 위키에서 환자 자료 위키 쪽으로는 자유롭게 갈 수 있다. 논문의 정리 문서와 방법 설명과 개념 문서는 공개된 지식이므로 폐쇄망 안으로 들어가도 문제가 없다. 반대 방향은 좁게 연다. 개인 수준 자료가 아닌 요약 통계, 표본 수, 분석 절차, 그리고 그 자료에서 얻은 판단 가운데 개인을 좁히지 않는 것만 나온다. 나오는 것 하나하나를 사람이 보고 정한다. 자동으로 동기화하는 순간 이 경계는 없는 것과 같아진다. 논문 원고를 쓰는 자리는 대체로 문헌 위키 쪽에 두는데 원고에 들어가는 것은 이미 요약 통계 수준이기 때문이다. 원고를 쓰다가 개별 자료를 확인해야 하면 폐쇄망으로 들어가서 확인하고 결과만 들고 나온다.

자료 놓이는 자리 쓰는 모델
출판 논문과 그 정리 문헌 위키 상용 AI
공개 데이터베이스의 요약 통계 문헌 위키 상용 AI
개인 수준 임상 자료와 진료 기록 폐쇄망 위키 로컬 모델
재식별 가능한 유전체 자료 폐쇄망 위키 로컬 모델
미공개 코호트의 개별 표 폐쇄망 위키 로컬 모델
분석 결과의 요약 통계 사람이 확인한 뒤 문헌 위키로 상용 AI

폐쇄망에서 도는 모델

폐쇄망 안에서 쓰는 모델은 그 기관의 서버나 작업용 기계에 올려 두고 바깥과 연결하지 않는다. 모델 가중치를 내려받아 두면 그 뒤로는 네트워크가 필요 없고 자료는 그 기계를 벗어나지 않는다. 준비할 것은 세 가지다. 모델을 올릴 기계, 그 모델을 부르는 방식, 그리고 에이전트가 그 모델을 쓰도록 하는 설정이다. 앞의 둘은 기관의 전산 담당과 함께 정할 일이다. 위키의 지침 파일과 폴더 구조는 모델이 무엇이든 그대로 쓸 수 있다. 규칙 문서는 어느 모델을 쓰는지 알 필요가 없고 무엇을 어디에 두고 무엇을 확인하는지만 적혀 있다.

폐쇄망 위키의 지침 파일에는 한 줄이 더 들어간다. 이 폴더의 내용을 바깥 서비스로 보내지 않는다는 문장이다. 이 문장이 도구 설정으로 강제되지는 않지만 적어 두면 그 폴더에서 세션을 열 때마다 읽힌다. 더 강한 장치는 13장에서 본 권한 설정이다. 폐쇄망 안의 세션에서는 네트워크로 나가는 동작을 아예 막아 두고 웹 검색 기능도 끈다. 문헌을 찾아야 하면 문헌 위키 쪽에서 찾아 결과만 들고 들어온다. 두 위키에서 같은 도구를 쓰더라도 설정 파일을 따로 두어 이 차이가 유지되게 한다. 한 기계에서 두 폴더를 번갈아 열면 설정이 섞이므로 가능하면 기계 자체를 나누는 편이 확실하다.

로컬 모델로 충분한 일과 아쉬운 일

폐쇄망에서 쓸 수 있는 모델은 상용 서비스의 최신 모델보다 대체로 작다. 그래서 무엇을 시킬지 골라야 한다. 잘 되는 일부터 보면, 정해진 형식으로 옮기는 작업이 가장 잘 된다. 진료 기록의 자유 서술에서 정해진 항목을 뽑아 표로 만드는 일, 여러 문서를 같은 틀에 맞추는 일, 형식이 어긋난 곳을 찾는 일이 여기 해당한다. 문서를 요약하는 일도 쓸 만하다. 개별 문서 하나를 짧게 만드는 작업은 작은 모델로도 실용적인 품질이 나온다. 빠진 항목을 찾는 검사도 잘 된다. 스무 건의 기록에서 특정 항목이 비어 있는 것을 골라내는 일에는 큰 모델이 필요 없다.

아쉬운 쪽은 판단이 들어가는 종합이다. 여러 자료를 놓고 무엇이 무엇을 반박하는지 가리는 일, 결과가 어긋날 때 그것이 조건의 차이인지 진짜 모순인지 정하는 일에서는 차이가 난다. 이 작업을 폐쇄망 안에서 해야 한다면 사람이 더 많이 개입하는 것을 전제로 설계한다. 모델이 후보를 만들고 사람이 고르는 방식이 특히 잘 맞는데 후보를 만드는 일은 작은 모델도 하고 고르는 일은 어차피 사람의 몫이기 때문이다. 다른 방법은 작업을 쪼개는 것이다. 개인 자료를 직접 다루는 단계까지만 폐쇄망에서 하고 그 결과가 요약 통계 수준으로 올라온 뒤에 문헌 위키 쪽에서 종합한다. 대부분의 연구에서 판단이 필요한 자리는 요약 수준에 있으므로 이 분리가 실제로 잘 작동한다.

따라해보기

아래 블록은 AI 도구의 채팅창에 그대로 붙여 넣는 프롬프트다. 밖으로 내보내도 되는지 판단이 서지 않을 때는 자료를 보여 주기 전에 물어볼 수 있다. 자료 자체를 붙여 넣지 않고 그 자료가 무엇으로 이루어져 있는지만 적는다.

아래 자료를 상용 AI 서비스에 넣어도 되는지 판단을 도와 달라.
자료 자체는 붙여 넣지 않고 구성만 적는다.

- 행이 몇 건이고 각 행이 무엇을 나타내는지
- 열 이름 목록
- 각 열이 개인을 좁힐 수 있는지에 대한 내 판단
- 이 자료를 받은 근거가 되는 승인이나 협약의 조건

다음을 알려 달라.
1. 열 조합만으로 개인이 좁혀질 수 있는 자리
2. 표본 수가 작아 요약 통계도 개인을 좁히는 칸이 생길 수 있는지
3. 판단을 위해 내가 확인해야 할 문서

넣어도 된다는 결론을 내리지 말아 달라. 그 판단은 내가 한다.

마지막 줄이 필요한 이유는 이 판단의 책임이 사람에게 있기 때문이다. 넣어도 된다는 답을 받으면 그 답을 근거로 삼게 되는데 승인 조건과 기관 규정을 읽고 판정할 수 있는 것은 그 연구를 맡은 사람뿐이다. 에이전트에게 시킬 수 있는 것은 놓치기 쉬운 자리를 짚어 주는 데까지다.

경계에서 새는 경로

경계를 정해 두어도 자료는 예상하지 않은 자리로 샌다. 파일 이름이 첫 번째다. 환자 식별번호나 이름의 일부를 파일명에 넣어 두면 그 파일을 열지 않아도 이름만으로 정보가 나간다. 폴더 목록을 보여 주는 것만으로도 새므로 파일명 규칙을 처음부터 정해 둔다. 두 번째는 오류 메시지와 로그다. 처리가 실패했을 때 도구가 자료의 일부를 그대로 화면에 찍는 경우가 있고 그 화면을 복사해 상용 AI에게 물어보는 순간 전송된다. 오류를 물어볼 때는 자료가 나온 부분을 지우고 묻는다. 세 번째는 화면 이미지다. 표나 기록을 찍은 화면을 올려 물어보는 방식은 파일을 올린 것과 같다.

네 번째는 중간 파일이다. 변환하거나 추출하는 과정에서 임시 폴더에 원본의 사본이 생기고 그 폴더가 동기화 대상이면 클라우드로 올라간다. 임시 파일을 동기화되지 않는 자리에 두는 규칙이 여기서도 필요하다. 다섯 번째는 통계 결과 자체다. 표본이 작을 때는 요약 통계도 개인을 좁힌다. 특정 조합에 해당하는 사람이 한 명뿐인 칸이 표에 있으면 그 칸은 개인 자료와 같다. 여섯 가지 경로를 따로 적어 두는 이유는 하나만 막으면 나머지로 새기 때문이다. 확인은 기계로 한다. 밖으로 나가는 문서 전체에서 식별번호 형식과 이름 목록과 날짜 조합을 검색해 걸리는 것이 없는지 보고, 확인한 결과를 작업 로그에 적는다.

회의 녹음과 전사

임상 사례를 논의하는 회의를 녹음하면 그 파일에는 환자 정보가 음성으로 들어 있다. 이 파일을 클라우드 전사 서비스에 올리는 것은 진료 기록을 올리는 것과 같다. 전사한 결과 파일도 마찬가지여서 텍스트가 되었다고 성격이 달라지지 않는다. 그래서 이런 회의는 로컬에서 도는 전사 도구를 쓴다. 음성 인식 모델을 자기 기계에 올려 두고 그 기계 안에서 전사하면 파일이 나가지 않는다. 전사 도구를 위키 폴더 안에 두지 않는 것도 함께 정해 둔다. 모델 파일과 원본 음성은 기계이고 지식이 아니므로 위키 밖의 별도 자리에 두고 위키로 들어오는 것은 사람이 정리한 회의 노트뿐이다. 원본 음성과 원시 전사 결과는 그 별도 자리에 남고 정리한 노트에서 환자를 좁히는 정보를 지운 뒤에 위키로 옮긴다. 18장에서 다루는 회의 기록 절차가 이 구분 위에서 돌아간다.

공개 데이터를 쓸 때도 남는 조건

공개 데이터베이스의 개인 수준 유전체 자료에도 사용 조건이 붙는다. 개인 수준 유전체 자료를 배포하는 저장소는 대체로 사용 신청과 승인을 거치게 하고 승인서에는 자료를 어디에 보관하고 누가 접근하는지가 적혀 있다. 승인받은 사람이 자기 컴퓨터에서 쓰는 것과 그 자료를 외부 서비스로 보내는 것은 다른 행위이고 대부분의 승인 조건이 뒤의 것을 허용하지 않는다. 요약 통계만 공개하는 자료와 개인 수준 자료를 함께 다룰 때는 두 종류를 폴더 단위로 나눠 둔다. 같은 폴더에 있으면 어느 파일이 어느 조건 아래 있는지 몇 달 뒤에 알 수 없고 알 수 없는 상태에서는 안전한 쪽으로 판단할 수밖에 없어 결국 둘 다 폐쇄망에 갇힌다.

조건은 자료마다 다르므로 받을 때 함께 기록한다. 어느 저장소에서 언제 받았고 승인 번호가 무엇이고 조건에 무엇이 적혀 있고 언제까지 보관할 수 있는지를 그 자료 옆에 적어 둔다. 이 기록이 없으면 몇 년 뒤에 그 자료를 다시 쓸 때 조건을 확인할 방법이 없고 확인하지 못한 자료는 쓸 수 없는 자료가 된다. 자료를 지워야 하는 시점이 조건에 적혀 있는 경우도 있어서 그 날짜도 함께 남긴다. 이 기록은 논문을 넣을 때 어느 도구로 추출했는지 적어 두는 것과 같은 성격이다. 나중에 판단하려면 그때의 조건을 알아야 하고 조건은 시간이 지나면 복원되지 않는다.

학생과 정하는 자료 경계

이 경계는 지도교수가 혼자 정해서 통보하는 것으로 끝나지 않는다. 실제로 자료를 만지는 사람이 학생이고 판단이 필요한 순간은 지도교수가 보고 있지 않을 때 온다. 분석이 막혀 오류 메시지를 붙여 넣고 싶을 때, 표의 형식이 이상해 그대로 올려 물어보고 싶을 때가 그런 순간이다. 그래서 규칙을 알려 주는 것과 함께 왜 그런지도 함께 짚는다. 이유를 모르면 규칙은 불편한 절차로만 남고 급할 때 가장 먼저 건너뛰어진다. 반대로 이유를 알면 규칙에 적히지 않은 새로운 상황에서도 같은 방향으로 판단한다. 규칙 목록보다 판단의 기준 하나를 정확히 전하는 편이 오래 간다. 그 기준은 되돌릴 수 있는가이고 13장에서 권한을 정할 때 쓴 것과 같은 기준이다.

나가도 되는 것을 미리 정하기

경계를 지키는 가장 실용적인 방법은 나가면 안 되는 것을 매번 판단하는 대신 나가도 되는 것을 미리 정해 두는 것이다. 두 방식의 기본값이 다르다. 금지 목록을 만들면 목록에 없는 새로운 종류의 자료는 나가도 되는 것이 되고 허용 목록을 만들면 목록에 없는 것은 나가지 않는다. 되돌릴 수 없는 동작에서는 뒤의 방식이 맞다. 허용 목록은 짧아도 된다. 출판된 논문과 그 정리 문서, 공개 데이터베이스에서 받은 요약 통계, 표본 수와 분석 절차, 그리고 사람이 확인한 결과 요약이면 대부분의 작업이 된다. 새로운 종류의 자료를 상용 AI에 넣어야 할 일이 생기면 그때 목록에 추가할지 판단하고 판단한 근거를 함께 적는다.

이 목록은 지침 파일에 적어 두고 새 사람이 들어올 때 온보딩 묶음과 함께 건넨다. 규칙을 모르는 상태로 시작한 사람은 편한 방식을 고르게 되고 편한 방식은 대체로 상용 서비스에 올리는 것이다. 한 번 나간 자료는 되돌릴 수 없으므로 이 규칙만은 첫날에 알려 준다. 규칙을 어겼을 때 어떻게 하는지도 미리 정해 둔다. 숨기지 않고 알리는 것이 첫 번째이고 무엇이 언제 어디로 나갔는지 기록하는 것이 두 번째다. 알리기 어려운 분위기를 만들면 같은 일이 반복되고 그 사실이 밖으로 드러나는 시점은 훨씬 뒤가 된다.