편지 103: 예측 모델을 분위기에 맞춰 코딩하는 방법

이 기사는 기계로 번역되었습니다
원문 표시

엄밀히 말하면 암호화폐 관련 내용은 아니지만, 제가 예전에 다뤘던 예측 시장과 관련이 있어 독자 여러분께서도 관심을 가지실 만한 주제라고 생각합니다. 게다가 몇몇 독자분들이 이런 글을 써달라고 요청하셨기에 이렇게 글을 쓰게 되었습니다!

저는 지난 몇 주 동안 Dota 2(e스포츠 비디오 게임) 경쟁 경기에서 누가 이길지 예측하는 모델을 개발해 왔습니다. Claude Code의 Vibe Coding 기능을 활용하여 (OpenClaw를 통해 Yoshi의 도움을 약간 받았지만, Claude Code를 직접 사용하는 것만으로도 모든 것이 가능했습니다) 이 모든 작업을 진행했습니다. 저는 머신러닝 관련 학위나 데이터 과학 배경 지식이 전혀 없습니다.

아직 초기 단계이긴 하지만 결과는 매우 유망해 보입니다. 모델을 백테스팅해 봤는데 결과가 정말 환상적 입니다. 솔직히 너무 좋아서 믿기 어려울 정도이니, 어느 정도 회의적인 시각으로 받아들이시기 바랍니다.

몇 주 동안 약 100건의 실제 베팅 데이터를 추적해 본 결과, 모델이 현재까지 좋은 성과를 보이고 있습니다(ROI 약 7.5%). 따라서 앞으로도 좋은 결과가 계속될 것으로 기대하고 있습니다. 하지만 아직 초기 단계라는 점은 잘 알고 있습니다.

많은 사람들이 자신들의 폴리마켓 봇이 매주 수십만 달러를 벌어들인다고 주장하며 마치 아주 쉬운 일인 것처럼 이야기합니다. 하지만 결코 쉽지 않습니다. 시간과 헌신, 동기 부여, 그리고 노력이 필요합니다. 배우려는 의지가 있어야 합니다. "클로드, 돈 버는 예측 모델 좀 만들어줘"라고 말하는 것처럼 간단한 일이 아닙니다. 그런 모델을 만들었다 하더라도 끊임없이 테스트하고 실제로 작동하는지 확인해야 합니다. 모델을 유지 관리하고 업데이트해야 하며, 그럼에도 불구하고 베팅/예측 시 유동성 문제에 부딪힐 수 있습니다. 결코 단기간에 수십만 달러를 벌 수 있는 일은 아닙니다.

저는 거의 두 달 동안 매일 평균 5시간 이상씩 모델 개발에 매달렸습니다. 힘들고 고된 작업도 많았고 좌절하는 순간도 있었지만, 제가 한 것처럼 누구든 (바라건대) 수익성 있는 모델을 만들 수 있는 잠재력이 있다고 믿습니다.

오늘은 예측 모델이 어떻게 작동하는지, 제가 어떻게 만들었는지, 그리고 바이브 코딩의 힘을 이용해 여러분도 어떻게 자신만의 모델을 만들 수 있는지에 대해 이야기해 보겠습니다.

성공적인 예측 모델에 필요한 핵심 구성 요소를 분석하고, 실질적인 관점에서 이러한 모델을 구축하고 개발하는 방법에 대한 몇 가지 추가적인 제안을 드리겠습니다.

  1. 명확하고 잘 정의된 질문부터 시작하세요.

  2. 인공지능에게 모든 단계를 도와달라고 요청하세요.

  3. 신뢰할 수 있고 깨끗한 데이터가 필요합니다.

  4. 당신의 외모가 전부입니다.

  5. 적합한 모델 선택하기

  6. 하이퍼파라미터 튜닝

  7. 데이터 유출을 방지하세요

  8. 적절한 훈련 및 테스트 분할

  9. 평가 지표

  10. 좋은 보정

  11. 빠른 반복 주기

  12. 재학습 파이프라인

  13. 실제 환경에서의 테스트 및 모니터링

  14. 모든 것을 종합해 보면

자, 그럼 시작해 볼까요?

참고로, 저는 인공지능(AI)에 대해 배우고 싶어하는 사람들을 위한 새로운 교육 커뮤니티를 준비 중입니다. 공동 창업자 두 명은 수년간 AI 관련 개발과 교육을 해왔으며, 저희는 매주 8개의 라이브 비디오 워크숍을 진행할 예정입니다.

아직 초기 단계이지만, 새로운 회원을 모집하고 있습니다. 이번 뉴스레터 말미에 프리미엄 구독자를 위한 특별 혜택을 알려 드리겠습니다. 정식 가격 대비 70% 할인된 가격입니다.

정식 출시는 이달 말쯤으로 예정되어 있으니, 그때까지 눈여겨봐 주세요! 정말 기대됩니다!


1. 명확하고 잘 정의된 질문으로 시작하세요.

사람들이 "예측 모델"이라는 말을 들었을 때 가장 흔히 저지르는 실수는 알고리즘, 프레임워크, 수익 창출 같은 것만 생각하는 것입니다. 절대 그렇게 생각하지 마세요. 대신, 어떤 질문에 대한 답을 찾고자 하는지부터 생각해 보세요.

누가 이 도타 2 경기에서 이길까요? 좋은 질문입니다. 결과는 명확하게 정해져 있고, 예측도 가능합니다. 맞았을 때와 틀렸을 때를 알 수 있죠.

이번 주 암호화폐 시장에 무슨 일이 일어날까요? 라는 질문은 적절하지 않습니다. 모호하고, 성공이나 실패를 판단할 명확한 기준이 없기 때문입니다. 어떤 데이터를 수집해야 할지조차 알기 어려울 것입니다.

질문의 질이 그 이후의 모든 것의 질을 결정합니다.

시작하기 좋은 방법은 스스로에게 다음과 같은 질문을 던져보는 것입니다.

이 네 가지 질문에 대한 명확한 답을 가지고 있다면, 예측 모델을 사용하여 답을 찾을 수 있는 좋은 질문을 생각해낼 수 있을 것입니다.

만약 당신이 베팅을 하고 돈을 벌기 위한 모델을 만들려고 한다면, 이미 해당 분야에 대한 지식과 전문성을 가지고 있는 것부터 시작하는 것이 가장 좋다고 생각합니다.

제가 도타 2를 고른 이유는 20년 넘게 플레이해 온 비디오 게임이고, 재미 삼아 베팅도 해 본 적이 있기 때문입니다 (엄청나게 많이요. 이 망할 게임에 돈을 걸었다가 엄청나게 잃었지만, 이제 복수할 기회입니다!). 10년 넘게 다른 사람들이 플레이하는 모습을 지켜봐 왔고, 게임에 대해 속속들이 알고 있습니다. 대다수의 사람들보다, 심지어 정기적으로 시청하는 사람들보다도 게임에 대해 더 많이 알고 있죠. 이러한 지식이 나중에 유리한 고지를 점하는 데 도움이 될 거라고 생각합니다.

AI가 어떻게 도움을 줄 수 있을까요?

관심 분야를 인공지능에게 설명하고 구체적인 질문을 만들어 달라고 요청할 수 있습니다. 질문을 더 구체적으로 만들어 달라고 유도해 달라고 하세요. 연구 분야와 내리고자 하는 결정 사항을 알려주면 인공지능이 원하는 질문을 찾는 데 도움을 줄 것입니다.

솔직히 말해서, 이 부분을 통째로 복사해서 AI에 붙여넣고 "좋은 질문을 생각해내는 데 도움이 필요해요. 예측 모델을 만들고 싶은데 도와주시겠어요?"라고 물어보세요. 그러면 바로 시작하게 될 겁니다. 이 글 전체를 통해 알 수 있듯이, 여러분은 할 수 있고 또 해야 합니다...

2. 인공지능에게 모든 단계에서 도움을 요청하세요.

이 모든 걸 혼자서 해내는 데에는 아무런 영광도 없다. AI는 세상에서 가장 강력한 도구이니, 그것을 활용하고 잘 활용하라.

원하는 질문을 선택하셨다면, 이제 원하는 코딩 플랫폼을 실행하고 AI에게 도움을 요청할 차례입니다. 몇 주 전에 Claude Code에 대해 글을 썼는데 , 제가 모델을 구축한 곳이 바로 거기입니다. 코딩 분야에서 현재 가장 앞선 두 모델인 Opus 4.6 버전의 Claude Code나 GPT 5.4 버전의 Codex를 사용하는 것을 추천합니다.

물론 저렴한 모델로 시도해보고 실험해 볼 수도 있습니다 (그리고 이는 훌륭한 학습 방법입니다). 하지만 수익을 창출하려는 목적이라면 최고급 모델을 사용하는 것이 훨씬 나을 거라고 생각합니다.

Claude Code/Codex를 실행한 후 새 프로젝트를 만들고 방금 생각한 질문을 바탕으로 원하는 기능을 설정하세요. 예를 들어 다음과 같이 설정할 수 있습니다.

저는 Dota 2 경기에서 어느 팀이 이길지 예측하는 예측 모델을 만들고 싶습니다. 이 프로젝트를 도와주시면 감사하겠습니다. 먼저 예측 모델 구축, 특히 Dota 2 및 e스포츠 모델 구축에 대해 심도 있는 조사를 해 주세요. 관련 연구 논문이나 성공적인 모델 사례를 찾아보고 참고할 만한 자료를 공유해 주시면 좋겠습니다. 이 모든 정보를 바탕으로 단계별 계획을 세우고, 시작하는 데 필요한 사항들을 알려주세요.

AI가 앞으로 꽤 괜찮은 계획을 세워주겠지만, 제가 정말 유용하고 중요하다고 생각하는 한 가지는 바로 자료와 연구 논문을 직접 읽어보는 것입니다( 적어도 몇 편은요). 우리 모두 AI 요약이나 핵심 요점에 의존하는 데 익숙해져 있지만, 모든 것이 어떻게 작동하는지 기본적인 비트(Bit) 를 이해하는 것이 앞으로 나아가는 데 큰 도움이 될 겁니다.

이 편지의 나머지 부분은 이러한 맥락을 이해하고 여러분이 이 문제들을 파악하는 데 도움이 될 것입니다.

3. 신뢰할 수 있고 깨끗한 데이터가 필요합니다.

모델은 데이터를 통해 학습합니다. 데이터가 잘못되었거나, 불완전하거나, 일관성이 없다면 모델은 잘못된 것을 학습하게 됩니다.

제 Dota 2 모델의 경우, 대부분의 데이터를 공식 API에서 가져옵니다. 웹에서 데이터를 직접 스크래핑하는 것보다는 좋은 API를 활용하는 것을 항상 추천합니다. 제가 사용하는 Dota API는 수년간의 경기 데이터를 포괄적으로 제공합니다. 팀 구성, 선수 통계, 경기 결과, 패치 정보 등 다양한 정보를 포함하고 있죠. 데이터는 체계적으로 구성되어 있고, 문서화도 잘 되어 있으며, 정기적으로 업데이트됩니다.

안타깝게도 (어쩌면 기회가 될 수도 있겠지만) 모든 도메인에 깔끔한 API가 제공되는 것은 아닙니다. 때로는 웹사이트를 스크래핑하거나, PDF를 파싱하거나, 복잡한 스프레드시트를 다뤄야 할 때도 있습니다.

일반적으로는 두 가지 방법을 모두 어느 비트(Bit) 사용해야 합니다 (API에서 95%를 가져오지만, 저도 일부 데이터는 직접 스크래핑합니다).

궁극적으로 형식보다는 신뢰성이 더 중요합니다. 데이터가 실제로 일어난 일을 정확하게 나타낸다고 믿어야 합니다. API를 사용하는 것이 더 쉽긴 하지만, 이 목표를 달성하는 유일한 방법은 아닙니다.

신뢰할 수 있는 데이터 외에도, 깔끔한 데이터는 매우 중요합니다. 즉, 중복된 레코드가 없어야 하고, 형식이 일관적이어야 하며, 중요한 필드에 누락된 값이 없어야 하고, 각 필드가 무엇을 나타내는지에 대한 명확한 설명이 있어야 합니다.

AI가 어떻게 도움을 줄 수 있을까요?

데이터 품질 검사를 위한 스크립트를 작성해 달라고 요청할 수 있습니다. 예를 들어, "경기 데이터를 불러와서 중복을 확인하고, 팀 ID가 누락된 경기를 표시하고, 월별 경기 분포를 보여주는 스크립트를 작성해 줘."라고 요청할 수 있습니다. 더 간단하게 "데이터가 깨끗하고 신뢰할 수 있도록 하려면 어떻게 해야 할까요?"라고 요청하면, 프로그램이 몇 가지 제안과 계획을 제시해 줄 것이고, 그 계획을 바탕으로 작업을 진행할 수 있습니다.

4. 당신의 외모가 전부입니다

예측 모델을 구축할 때 가장 중요한 개념 중 하나는 특징(feature)을 이해하는 것입니다. 간단히 말해, 특징은 모델이 예측을 수행하는 데 사용하는 입력값입니다. 원시 데이터 자체는 거의 유용하지 않습니다. 원시 데이터는 특징을 생성하는 데 사용되지만, 실제로 예측에 사용되는 것은 바로 이 특징들입니다.

도타 2에서 "A팀이 ​​200경기를 치렀다"와 같은 단순한 통계는 다음 경기 승패에 대해 거의 아무것도 알려주지 않습니다. 하지만 "A팀이 ​​현재 패치에서 최근 20경기 중 65%의 승률을 기록했다"와 같은 통계는 현재 메타에서의 최근 경기력에 대해 유용한 정보를 제공합니다.

바로 이런 부분에서 여러분의 전문 지식이 빛을 발합니다. 여러분은 해당 분야를 잘 이해하고 있고, 결과에 영향을 미치는 요인들을 알고 있습니다. 예를 들어 열렬한 골프 팬이라면 날씨가 경기 결과에 영향을 미친다는 것, 잔디 종류가 중요하다는 것, 오전에 시작하는지 오후에 시작하는지가 스코어에 영향을 미친다는 것, 장타자가 특정 코스에서 더 좋은 성적을 낸다는 것 등을 알고 있을 것입니다.

모델은 처음에 이런 것들을 전혀 알지 못합니다. 모델은 여러분이 특징을 통해 알려주는 정보만 알게 됩니다.

좋은 특징은 예측 이전에 이용 가능하고, 결과와 관련이 있으며, 다른 특징들과 중복되지 않는 정보를 포착합니다.

AI가 어떻게 도움을 줄 수 있을까요?

먼저 기능을 제안해 달라고 요청하여 어떤 유형의 기능을 사용할 수 있는지 파악하세요. 그런 다음 자신의 전문 지식과 중요하다고 생각하는 요소를 설명하여 결과에 영향을 미칠 수 있는 추가 기능 목록을 브레인스토밍하세요.

그다음, 원시 데이터에서 해당 특징들을 추출하도록 요청하세요. 그러면 AI가 변환 코드를 작성합니다. 사용자는 추출된 특징들이 타당한지 평가합니다. 이러한 상호작용이 바로 바이브 코딩의 진가를 발휘하는 부분입니다. 사용자는 사고력(적어도 일부)과 해당 분야 지식을 제공하고, AI는 나머지 모든 작업을 수행합니다.

5. 적합한 모델 선택

질문, 데이터, 그리고 특징들이 있습니다. 이제 이러한 특징들을 입력받아 예측값을 도출하는 무언가가 필요합니다. 그것이 바로 모델입니다.

모델을 함수라고 생각해 보세요. 입력값(특징)을 제공하면 출력값(예측값)을 내놓습니다. 다양한 유형의 모델은 이 함수를 학습하는 방식이 각기 다릅니다. 어떤 모델은 단순하고, 어떤 모델은 복잡합니다. 어떤 모델을 선택할지는 해결하려는 문제에 따라 다르지만, 정형화된 데이터를 사용하는 대부분의 예측 작업에서는 생각보다 간단한 해답이 있습니다.

더 읽어보기

출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
78
즐겨찾기에 추가
18
코멘트