본문으로 건너뛰기

[마음지기 캡스톤 개발일지 #8] API 요금 폭탄 사태와 Colab 파인튜닝 준비

· 약 2분
Jihwan Park (jaybee)
AI & Robotics Engineer

사진 01

4월 8일은 마음지기 프로젝트를 진행하면서 가장 큰 위기이자 '웃픈' 해프닝이 발생한 날입니다. 바로 Claude API 월별 한도 초과 및 요금 폭탄 사태입니다.

백그라운드의 배신: "10건 생성에 1달러라니?"​

  • 문제: 어제 최적화를 마쳤다고 안심하고 대규모 테스트 데이터셋 생성 스크립트를 백그라운드에 켜둔 채 방치했습니다.
  • 과정:

    "문제: 월별 한도를 초과하여 비용이 청구되고 있음. 백그라운드로 API가 작동하는 줄 알고 냅뒀는데 이런 일이 벌어졌음." "아니 10건 생성하는데 1달러가 소비되는 게 말이 되나?"

  • 결과: LLM으로 고품질 상담 데이터를 합성(Synthesis)하는 과정에서 프롬프트의 컨텍스트(입력 토큰)가 누적되면서 비용이 기하급수적으로 늘어난 것입니다. 월별 결제 한도가 초과되어 스크립트가 멈추는 사태가 벌어졌고, 결국 AI에게 "실시간으로 예상 소비량과 비용, 진행 상황을 콘솔에 찍어주고, 한도 초과를 방지하는 기능을 당장 추가하라"라고 긴급 지시를 내렸습니다. 클라우드나 API를 사용할 때 요금 모니터링이 얼마나 중요한지 뼈저리게 느꼈습니다.

Llama 3.1 훈련을 위한 Colab 노트북 작성​

  • 문제: 데이터가 준비되어 가고 있으니, 이제 실제로 Llama 3.1 모델을 파인튜닝(Fine-Tuning)할 코드가 필요했습니다. 로컬 PC의 GPU로는 어림도 없기 때문에 Google Colab 환경을 사용해야 했습니다.
  • 과정:

    "llama31_finetuning_experiment_plan_revised.md을 Colab에서 진행하기 위한 python notebook을 작성해 주세요." "훈련 data를 train/val/test가 아닌 train/val로만 분할하고 9:1 비율로 나눈다."

  • 결과: AI가 스스로 훈련 계획서를 읽고 llama31_finetuning_colab.ipynb라는 완벽한 주피터 노트북 코드를 짜주었습니다. Unsloth 등 최신 경량화 라이브러리를 세팅하고, 데이터셋을 9:1 비율로 쪼개어 학습과 검증에 사용하는 로직까지 완벽하게 구현했습니다.

사진 02

오늘은 API 요금 폭탄이라는 무시무시한 신고식을 치르며 프로젝트의 현실적인 장벽을 극복해 낸 하루였습니다. 하지만 그 대가로 훌륭한 데이터셋과 파인튜닝용 Colab 노트북까지 완성되었습니다. 드디어 다음 단계는 진짜 인공지능 모델을 훈련(Training)시키는 것입니다!