존재하지 않던 모델을 직접 만들다
요약
작성자는 ML Intern이라는 에이전트를 활용하여 원하는 AI 모델을 직접 구축하는 과정을 공유합니다. 이 과정에서 9B 모델의 압축된 0.8B 버전을 얻는 등, 효율적인 컴퓨팅 비용으로 고품질의 맞춤형 모델을 개발할 수 있음을 보여줍니다. 또한, 프로젝트 계획, 예산 요청, 테스트 실행 등의 체계적인 워크플로우를 구축하는 방법을 설명합니다.
핵심 포인트
- ML Intern 에이전트를 활용하여 원하는 AI 모델을 효율적으로 제작 가능
- 프로젝트 시작 시 기준선(baseline) 점수 및 스모크 테스트 필수 포함
- 예산 제한과 허가 시스템으로 컴퓨팅 비용 통제 용이
- 체계적인 프롬프트 작성법으로 복잡한 AI 개발 프로세스 구현
지난주에 저는 Qwen-Image 2.1과 함께 제공되는 프롬프트 리라이터의 작은 버전을 원했습니다. 공식 버전은 약 20GB의 메모리가 필요하고 단락 하나를 작성하기 전에 수천 개의 토큰 동안 생각하는 9B 모델입니다. Hub에서 제가 찾을 수 있었던 것은 그 동일한 9B 모델의 압축된 사본들뿐이었습니다. 그래서 저는 ML Intern에게 제가 원하는 것을 설명했고, 다음 날 CPU에서 실행되는 0.8B 버전을 얻게 되었습니다. 이 버전은 99.7%의 확률로 유효한 출력을 반환하며 교사(teacher) 토큰의 약 4분의 1만 사용합니다. 9B 모델에 8,797개의 예제 요청을 레이블링하는 것을 포함하여 전체 프로젝트의 컴퓨팅 비용은 16 USD였습니다.
이후 며칠 동안 저는 같은 방식으로 다섯 개의 모델을 더 만들었습니다. 각각의 모델은 ML-intern이 활성화된 HuggingChat 메시지로 시작했고, 각각은 평가가 모델 카드에 올라간 Hub의 공개 모델로 끝났습니다. ML-intern은 작업을 계획하고, 무언가를 쓰기 전에 저에게 예산을 요청하며, 실제 작업 전에 작은 테스트를 실행한 다음, 훈련하고, 평가하고, Hugging Face 하드웨어에 게시합니다.
노력을 기울이는 첫 번째 메시지가 있었습니다. 아래 공유된 citrus 모델을 위한 제 첫 프롬프트는 약 450단어였습니다. 여섯 번째 프로젝트에 이르러서는 2,000단어에 가까워졌는데, 이는 각 프로젝트가 다음 프로젝트에서 제가 원하는 무언가를 가르쳐 주었기 때문입니다. 일곱 개의 모든 프롬프트는 제가 작성한 그대로 yvrjsharma/ml-intern-prompts의 GitHub에 있습니다.
프롬프트는 한 줄로 아이디어와 그 이유를 시작합니다. 그런 다음 데이터셋, 기본 모델, 훈련 스크립트 등 정확한 구성 요소를 명시합니다. 이미 제가 확인한 내용은
프롬프트에는 두 가지 라인이 중요합니다. 첫 번째는 어떤 훈련을 하기 전의 기준선(baseline) 점수를 요청하는 것입니다. 예를 들어, citrus prompt에서는 "또한 훈련 전에 동일한 지표에 대한 기본 모델의 제로샷(zero-shot) 점수도 보고하여 이득을 확인할 수 있도록 하라"라고 명시합니다. 이것이 없으면 훈련된 모델은 얻더라도 그것이 시작점보다 나은지 알 방법이 없습니다. 두 번째는 체크가 첨부된 스모크 테스트입니다. 이미지 LoRA의 경우, 전체 실행 비용을 지불하기 전에 50개의 훈련 단계를 요청하고 저장된 가중치(weights)가 실제로 변경되었는지 확인하는 체크를 추가했습니다.
프롬프트 끝부분에는 예상 결과물과 비용 제한을 명시합니다. 모델 카드에 무엇이 포함되어야 하는지 정의하고, "총 지출액을 12 USD로 제한하고 초과하기 전에 나에게 물어보라"와 같은 지침을 포함합니다. ML-intern은 모든 작업을 0달러 예산으로 시작하며 유료 작업을 실행하기 전에 허가가 필요하므로, 이 지출 제한은 엄격하게 유지됩니다. 만약 예산을 생략하면 에이전트는 프로젝트 규모에 따라 몇 가지 경로를 제안하고 어떤 것을 선호하는지 묻습니다.
첫 시도에 이 모든 것이 반드시 필요한 것은 아닙니다. 예를 들어, 제 citrus 브리프에는 verified-facts 섹션이 없었음에도 불구하고 ML Intern은 Qwen3.5-2B 모델의 정확도를 3배 이상 높이는 모델을 만들어냈습니다. 제가 단지 며칠 만에 Ml-Intern으로 구축한 6가지 사항을 설명해 드리겠습니다.
일반적인 비전 모델(vision model)은 노랗게 변하는 감귤 잎을 묘사할 수 있습니다. 하지만 그것이 진드기 문제인지 마그네슘 결핍인지를 알려주고, 식물을 치료하기 위한 생물학적 및 비생물학적 해결책을 제시하는 것은 매우 어렵습니다. 저는 Claude를 사용하여 Project-AgML 조직에서 호스팅하는 Hub의 세 가지 출처에서 병합된 훈련 데이터셋을 만들었습니다. 그 결과로 나온 citrus-disease-vlm-instruct는 21가지 고유한 해충, 질병, 영양 결핍 및 치료 접근 방식을 포함하는 3,017개의 주석이 달린 이미지를 담고 있는 데이터셋입니다. ML-intern은 이 예시들을 사용하여 Qwen3.5-2B의 파인튜닝(fine-tuning)을 처리했으며, 사전에 기반 모델을 벤치마킹하는 것을 확실히 했습니다.
335장의 테스트 사진에서 기본 모델은 올바른 문제를 14.9%의 확률로 맞혔습니다. A10G 하나에서 두 에포크(epochs)를 거친 후, 파인튜닝된 모델은 52.8%를 달성했습니다. 컴퓨팅 비용은 약 USD 1.90입니다.
확인하기: Model · Dataset · Citrus Doctor App
이미지 모델들은 많은 캐릭터들을 알고 있습니다. Hugging Face 브랜드 에셋의 플랫 스타일로 그려진 Huggy는 예외가 아니었습니다. 저는 ML-Intern에게 Chunte/huggy_for_training 데이터셋에서 캡션이 달린 그림 84점을 가지고 FLUX.2 klein base 4B에 대한 LoRA를 요청했습니다.
에이전트는 매 100 스텝마다 체크포인트를 저장했고, 각 체크포인트로 동일한 프롬프트 세트를 그렸기 때문에 선택하기가 쉬웠습니다. 200 스텝은 Huggy가 완전히 모델화된 첫 번째 지점이었습니다. 500 스텝부터는 Huggy의 스타일이 Huggy와 아무 관련 없는 프롬프트들까지 새어 나오기 시작했습니다! 학습된 LoRA는 또한 4스텝으로 증류된 klein 모델에서도 작동합니다. 컴퓨팅 비용은 약 USD 7.60입니다.
확인하기: Model · Dataset · Huggy Generator App
**카메라 각도 LoRA(Camera-angle LoRAs)**는 이전 Qwen-Image 모델에 대한 가장 인기 있는 커뮤니티 추가 기능 중 하나입니다. 사용자는 객체의 사진을 모델에게 제공하고, 왼쪽에서 45도 각도로 보이게 해달라고 요청할 수 있습니다. 제가 Qwen-Image 2.1 모델 출시 후 며칠 뒤 확인했을 때 아무도 이것을 만들지 않았기 때문에, ML-Intern에게 구축하도록 지시했습니다.

ML-intern은 Google Scanned Objects에서 스캔한 가구 객체 1,030개를 각 24개 각도로, 총 24,722개의 투명 이미지를 CPU 작업으로 몇 센트의 비용을 들여 렌더링했습니다. 이후 학습용으로 461개 객체를 최종 확정하고 테스트용으로 40개를 남겨두었으며, 23가지 카메라 지침에 걸쳐 균등하게 분포된 1,844개의 전-후(before-and-after) 학습 쌍을 만들었습니다.
학습은 A100 하나에서 약 90분 동안 2,000 스텝으로 진행되었습니다 (~USD 3.75). 전체 프로젝트는 ML-Intern이 누락된 패키지나 잘못된 경로 때문에 재제출해야 했던 실패한 작업들을 포함하여 총 48개의 작업을 거치며 반나절 정도가 걸렸습니다. 총 컴퓨팅 비용은 약 USD 16입니다.
확인하기: Model · Dataset · Viewpoint Orbit App
Doodle-in LoRA는 또 다른 흥미로운 아이디어입니다. 마젠타색 낙서가 있는 사진을 업로드하고 객체 이름을 지정하는 짧은 프롬프트를 추가하면, LoRA가 해당 낙서를 그 객체로 대체하면서 원래의 조명과 구도를 일관되게 유지합니다.
이것에 대한 데이터셋이 존재하지 않았기 때문에, 저는 어떻게 이를 만들지에 대한 프롬프트를 작성했습니다. Open Images의 실제 사진에서 LaMa 인페인팅 모델을 사용해 하나의 객체를 제거하고, 그 객체가 있던 자리에 낙서를 그렸습니다. 이 손대지 않은 사진이 목표(target)가 됩니다. ML 인턴은 CPU 샌드박스에서 쌍 생성 스크립트를 작성하고 테스트한 다음, 이를 GPU 작업으로 실행하여 경로를 따라 모든 소스 사진의 저자와 라이선스를 기록했습니다. 이를 통해 6,042개의 학습 쌍과 160개 쌍의 테스트 세트를 구축했으며, 이 중 40개의 테스트 쌍은 학습에서 완전히 제외된 23개 객체 클래스에서 가져왔습니다.
학습에 앞서, 기본 모델을 자체적으로 그리고 Viggle turbo LoRA와 함께 측정했고, 배치로 편집을 실행했을 때 동일한 이미지가 생성되는지 확인하여 평가 비용을 절감했습니다. 학습은 A100 한 장비에서 1시간 38분 동안 2,000 스텝으로 진행되었으며 (~USD 4), 48개 테스트 쌍에 저장된 체크포인트를 비교한 결과 500 스텝이 선택되었습니다.
Viggle turbo LoRA와 6 스텝을 결합했을 때 LoRA는 매우 좋은 성능을 보였습니다. 감지된 객체의 67.5%가 그려진 위치에 나타났으며, 편집당 4.7초가 소요되었습니다. 미지의 23개 클래스에서 온 객체들도 나머지 객체들만큼 안정적으로 나타났습니다 (65.0% 대 64.2%). 이 프로젝트는 하루를 조금 넘게 걸렸고 총 59개의 작업이 진행되었으며, 전체 컴퓨팅 비용은 약 USD 24였습니다.
확인해 보세요: 모델 · 데이터셋 · Doodle-in App
- 이 게시물 상단에 있는 Pocket Rewriter가 첫 번째입니다. ML-intern은 프롬프트에 혼합된 세트(사진, 포스터, 로고, 인포그래픽 등)를 따라 소형 명령어 모델을 사용하여 Inference Provider를 통해 8,797개의 짧은 이미지 요청을 생성하며 시작했습니다. 이 중 약 3분의 1은 따옴표 안에 정확한 텍스트를 요구했고, 많은 요청이 영어 외의 언어로 되어 있었습니다. 이후 9B 선생님 모델(teacher)이 이를 A100 한 대에서 2시간 37분(약 USD 6.50) 만에 모두 재작성했습니다. 품질 필터링을 거쳐 1,840개의 예시가 학습 데이터셋으로 선택되었습니다.

0.8B와 2B 학생 모델(student)을 학습시키는 데 A10G에서 각각 12분과 18분이 걸렸으며 (둘 다 USD 0.75), 0.8B는 CPU에서 실행할 수 있는 812 MB GGUF 파일로도 배포됩니다. 이 프로젝트 전체에 걸쳐 약 11시간이 소요되었고 총 작업량은 24건이었습니다. 총 컴퓨팅 비용은 약 USD 16입니다.
확인해 보세요: Pocket rewriter 0.8B Student · 2B Student · Dataset · Pocket Studio App · Rewriter Arena에서 선생님-학생 비교
Agate-Preview-002-4step가 두 번째입니다. Logolabs의 Agate Preview 002는 브라우저에서도 충분히 작지만, 가이던스(guidance)를 위해 50단계가 필요한 260M 파라미터의 텍스트-이미지 모델입니다. 저는 ML-intern에게 이를 단 4단계로 줄여달라고 요청했습니다!
총 두 번의 실행이 필요했습니다. 첫 번째는 15만 5천 개의 학습 이미지를 Latent 형태로 캐싱하고, 가이던스를 모델에 구워 넣은 다음, A100에서 단계 수를 16에서 8로, 다시 4로 점진적으로 줄였습니다. 이 4단계 학생 모델은 GenEval과 FID 모두에서 동일한 4단계를 사용한 선생님 모델을 능가했습니다. 그 후 ML-intern이 이를 브라우저용 ONNX 파일로 내보냈습니다. 이 실행에는 약 13시간과 USD 22가 소요되었습니다.
ML-Intern에게 4단계 학생 모델을 조금 더 개선하도록 요청하여 두 번째 학습(training run)을 진행했습니다. 그 결과, ML-Intern은 선생님(teacher)과 함께 16단계에서 24,000개의 이미지 쌍을 만들었고, 이 데이터셋으로 4단계 학생 모델을 약 한 시간 동안 파인튜닝(fine-tuned)했습니다. GenEval 점수는 0.509에서 0.536으로 향상되었으며, 이는 50단계에서 선생님의 점수인 0.563에 비해서도 단지 4단계만 사용했을 뿐이라 (계산량은 1/4 수준) 놀라운 결과입니다. ML-Intern이 브라우저 버전을 다시 내보냈습니다. 두 번째 실행에는 약 8시간이 걸렸고, 두 번의 실행을 거친 총 계산 비용(compute cost)은 약 USD 37입니다.
확인해 보세요: Agate 4단계 모델 · 데이터셋 · 브라우저에서 Agate 실행하기 · Agate 4단계 라이브
| 모델 | 기반 모델 (Base model) | 계산량 (Compute) |
|---|---|---|
| Citrus Doctor | Qwen3.5-2B | USD 1.90 |
| ... | 총계 | 약 USD 103 |
이 비용은 각 세션에 대해 보고된 GPU 및 CPU 작업 요금입니다.
ML-Intern은 HuggingChat에서 사용할 수 있습니다. ML-Intern 모드를 켜고 프롬프트를 붙여넣으세요. 시작점을 원한다면, 제가 예시로 제공하는 프롬프트는 자유롭게 복사하여 사용하실 수 있습니다. 존재했으면 하는 모델과 보유하고 있는 데이터셋, 또는 설명할 수 있는 것부터 시작해 보세요. 적은 예산으로 기준선(baseline) 및 스모크 테스트(smoke test)를 요청한 다음, 상한선을 높이기 전에 결과를 확인해 보세요.
만약 이 도구로 무언가를 만들었다면, X에 공유하고 @Gradio와 @HuggingFace 태그를 달아주세요. 아무도 생각하지 못했을 만한 모델을 만들어 주시는 것을 보고 싶습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HuggingFace Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기