dev.to

Privacy-First AI: Fine-Tuning Llama-3 on Your MacBook to Decipher 10 Years of Health Reports

프라이버시 우선 AI — MacBook에서 Llama-3를 파인튜닝해 10년치 건강 리포트 해독하기

민감한 의료 데이터를 클라우드에 올리지 않고, Apple Silicon의 MLX 프레임워크와 LoRA를 이용해 MacBook 로컬에서 Llama-3-8B를 파인튜닝하는 과정을 다룬 가이드입니다. 10년치 건강검진 리포트를 OCR·구조화해 JSONL 데이터셋으로 만들고, 어댑터 학습 후 로컬 추론까지 이어지는 전체 파이프라인과 명령어를 단계별로 제시합니다.

본문

의료 기록은 개인 데이터 중에서도 가장 민감한 영역입니다. 저자는 10년치 혈액검사·MRI·건강검진 결과를 클라우드 제공자에게 넘기고 싶은 사람은 없을 것이라며, Local LLM 학습과 Apple의 MLX 프레임워크 덕분에 완전 로컬 의료 AI 어시스턴트가 현실이 되었다고 주장합니다. 이 글은 LoRA(Low-Rank Adaptation)로 Meta의 Llama-3를 파인튜닝해 개인 건강 시계열 데이터의 맥락을 이해시키는 실전 가이드입니다.

로컬 파인튜닝 파이프라인

전체 흐름은 PDF·이미지 형태의 원본 건강 리포트를 OCR과 구조화를 거쳐 '연도·지표·수치' 형태의 JSON 데이터셋으로 변환하는 것에서 시작합니다. 이 데이터셋이 MLX-LM 파인튜닝 루프에 들어가 Llama-3-8B 베이스 모델에 LoRA 어댑터를 입히고, 결과물은 로컬 추론 UI에서 '내 10년 혈당 추이는?' 같은 질의에 답하는 형태로 동작합니다. 저자는 단순 프롬프팅이 아니라 특정 바이오마커의 시간에 따른 경향을 모델에 학습시키는 것이 핵심이라고 설명합니다.

환경 준비와 데이터 포맷

하드웨어는 M1/M2/M3 Pro 또는 Max가 필요하며, Llama-3-8B 기준으로 Unified Memory 32GB 이상을 권장합니다. 환경은 Python 3.11 이상과 mlx-lm 라이브러리로, python -m venv mlx_env로 가상환경을 만들고 pip install mlx-lm으로 설치합니다. 학습 데이터는 dataset.jsonl 형태로, 각 항목이 의료 맥락과 분석을 쌍으로 담습니다. 예시는 Llama-3 채팅 템플릿 토큰(<|begin_of_text|>, <|start_header_id|> 등)을 사용해 '2014~2024년 LDL 콜레스테롤 추이 분석'이라는 사용자 요청에 '2014년 130mg/dL에서 시작해 2019년 165mg/dL로 정점을 찍었고, 2021년 지중해식 식단 시작 이후 110mg/dL로 안정화되어 33% 개선'이라고 답하는 구조입니다.

MLX와 LoRA로 학습하기

Apple 연구팀이 설계한 MLX는 GPU의 통합 메모리를 효율적으로 활용해 CUDA 환경의 복잡함 없이 동작합니다. LoRA는 원본 가중치를 동결하고 작은 어댑터 레이어만 학습하기 때문에 Llama-3 같은 대형 모델도 일반 노트북에서 파인튜닝할 수 있습니다. 실제 학습 명령은 python -m mlx_lm.lora --model meta-llama/Meta-Llama-3-8B-Instruct --train --data ./health_data/ --iters 1000 --batch-size 4 --learning-rate 1e-5 --lora-layers 16 --test입니다. 전통적인 VRAM 병목과 달리 Apple의 Unified Memory Architecture는 GPU가 시스템 RAM 전체에 접근하므로, 64GB RAM이면 사실상 64GB의 VRAM을 쓰는 셈이라고 저자는 강조합니다.

추론과 효과

학습이 끝나면 mlx_lm의 load 함수에 adapter_path="adapters.npz"를 지정해 베이스 모델과 어댑터를 함께 불러옵니다. '지난 10년 건강검진 기준으로 비타민 D 수치를 걱정해야 하나?'라는 프롬프트에 모델은 '2018년부터 지속적으로 30 ng/mL 미만(결핍 범위)이었고, 2022년 소폭 상승에도 최근 24 ng/mL이므로 의사와 보충제를 상의하라'는 식으로 답합니다. 저자는 이 방식으로 API 지연 제거, 데이터가 기기를 떠나지 않는 프라이버시 보장, 교과서가 아닌 '내 생체 데이터'를 이해하는 개인화라는 세 가지 이점을 얻는다고 정리합니다. 다만 주말 프로젝트 수준을 넘어 프로덕션급 헬스테크로 확장하려면 RAG 패턴과 데이터 주권을 다루는 아키텍처가 필요하며, 관련 심화 자료로 WellAlly Tech Blog를 추천합니다.

원문: dev.to / 번역·요약: Trawling