Skip to main content

ML로 ML 콘텐츠 제작 가속하기

끝까지 내려가도 결국 ML입니다. – 게시일 2022-04-01 이 글은 AI가 번역한 기사입니다. 오역이 있을 수 있으니 댓글로 알려주세요.
Created on September 15|Last edited on September 15
저처럼 양질의 머신러닝 콘텐츠를 끝없이 찾아보는 편이라면, NeurIPS, ICLR, ICML, KDD, ODSC, ArXiv, 트위터 스레드, LinkedIn 게시물, 팟캐스트, Fully Connected 같은 큐레이션 블로그 커뮤니티까지—정말로 읽기만으로는 충분하지 않습니다.
마찬가지로, 우리 콘텐츠 책임자도 최근 Fully Connected 커뮤니티의 열성적인 구성원들에게 충분한 콘텐츠를 제공하지 못한다며 하소연했습니다:
어떻게 따라잡을 수 있죠?! 우리는 다양한 머신러닝 주제에 대해 1000편이 넘는 기술 블로그, 리포트, 논문 재현, 프라이머를 발행했지만 여전히 충분하지 않습니다. 매일 새로운 논문이 나오고 있습니다. 복사장, 강화학습, 또는 위치 표현, 하지만 커뮤니티는 더 많은 것을 요구합니다!
Weights & Biases에서는 사람들이 어려운 문제를 해결할 수 있도록 돕는 데 자부심을 갖고 있습니다. 우리는 머신러닝으로 해결하고자 하는 어떤 과제든 실무자가 효율적이고 효과적으로 작업할 수 있도록 돕는 도구와 플랫폼을 만듭니다. 그렇다면 우리 스스로는 이 AI 관련 글의 부족 문제를 어떻게 극복할 수 있을까요?
친한 친구인 저스틴이 도움이 필요하다는 것을 알고 있었고, 친구 이반이 최근에 텍스트 생성과 관련해 한 작업이 떠올랐습니다. 이반은 할 수 있었습니다 닥터 후 에피소드 생성하기 혹시 BBC가 작가실에 긴 휴가를 주고 싶어질 경우를 대비해서—그때 문득 떠올랐습니다: 우리는 GPT를 사용해 머신러닝에 대한 리포트를 생성할 수 있습니다. 마침내, ML의 실용적인 활용이 나왔습니다!
Fully Connected에 공개된 방대한 리포트 카탈로그를 활용해, 저는 훌륭한 머신러닝 리포트가 어떤 모습인지 보여주는 사례를 천 개 이상 이반에게 제공할 수 있었습니다. 그는 이를 활용해 wandb GPT 파인튜닝 통합 우리 커뮤니티를 위한 글쓰기를 GPT가 학습하도록 돕기 위해.

GPT 파인튜닝

닥터 후 시놉시스로 GPT-3를 파인튜닝하면서 BBC 작가들에게 “성공적으로” 도전해 본 만큼, 이제는 공정하게 나 자신에게도 같은 도전을 걸어야 한다고 느꼈습니다. 결국, 모델이 공상과학 작가팀을 능가할 수 있다고 넌지시 말하려면, 적어도 머신러닝에 관한 글쓰기에서 나를 이길 수 있는지부터 확인해야 했으니까요.
며칠이 지나 눈을 떠보니, 공개된 W&B 리포트가 천 개가 넘게 담긴 거대한 스프레드시트를 마주하고 있었습니다. 리포트들이 마치 나를 되돌아보고 있는 듯했죠. 묘하고 혼란스러운 방식으로 위압감이 느껴졌습니다.
내가 왜 그 리포트들을 뚫어져라 보고 있었을까? 바로 그걸 파인튜닝에 사용할 예정이었기 때문이다. 이전 닥터 후 실험에서, GPT-3가 문단 길이의 텍스트 조각들에는 꽤 잘 일반화한다는 걸 알고 있었다. 하지만 공상과학의 문체와 기술 문서는 전혀 다른 이야기다. 과연 전체 기술 리포트를 제대로 다룰 수 있을까? 그것도 일반 리포트가 아니라, 마크다운 형식의 리포트를.
대략 이런 모습이었습니다:

파인튜닝을 할 때, OpenAI API는 다음과 같은 형식의 데이터셋을 제공하라고 요구합니다 prompt 그리고 completion 열. 프롬프트는 리포트 제목으로, 컴플리션은 리포트 본문으로 설정했습니다. 데이터가 준비되었으니, 몇 가지 하이퍼파라미터를 정의하고 파인튜닝을 초기화했습니다.
!openai api fine_tunes.create \
-t reports_train.jsonl \
-v reports_valid.jsonl \
-m $model \
--n_epochs $n_epochs \
--batch_size $batch_size \
--learning_rate_multiplier $learning_rate_multiplier \
--prompt_loss_weight $prompt_loss_weight
약 20분쯤 지나 파인튜닝이 완료되었고, 결과를 테스트할 준비가 됐습니다. OpenAI API에서 나온 학습 지표와 메타데이터를 이 한 줄짜리 코드로 W&B에 로깅했습니다.
!openai wandb sync --project "GPT 3 for Generating Reports"
알고 보니, 모델이 W&B 리포트를 생성하도록 학습하면(그리고 우리가 익숙하고 좋아하는 리포트 포맷을 익히면), 결과를 시각화하고 테스트하기에 가장 좋은 장소는 사실 W&B 리포트 그 자체입니다. 그럼 바로 시작하겠습니다:

예시

모델이 생성한 예시 출력 몇 가지를 살펴보겠습니다. 목표는 GPT-3에 제목 제안을 제공하고, 이후에는 ML 기사 작성의 어려운 부분을 맡기도록 하는 것입니다.
참고: 다음 예시에서는 마크다운 문법을 수정하지 않고, GPT가 생성한 출력을 가능한 한 있는 그대로 제공합니다.
💡
아래에서 마음에 드는 부분에 대해 댓글을 남겨 주세요. 앞으로 모델을 더 잘 가르치는 데 참고하겠습니다. 도입부는 사람 필진이 직접 작성했지만, 아래 토글에 있는 내용은 모두 GPT-3가 생성한 결과입니다. 그리고 다소 파격적인 기법들도 제안했는데, 그중에는 우아한 방식으로 완전한 정확성을 보장하려는 시도들도 있습니다.

프롬프트 1: “GAN과 트랜스포머”

모델이 정말 흥미로운 결과를 내놓네요! 섹션 구성이 명확하고, 논의도 일관성 있으며, ML 관련 용어도 풍부합니다. 특히 링크가 포함된 참고 자료가 마음에 들었습니다. 아쉽게도 추가된 참고 자료들이 가장 관련성이 높은 것 같지는 않지만, 저는 매우 초기화를 위해 생성된 링크 몇 개를 클릭해 보시길 추천합니다. 😏
“GAN”이라는 프롬프트로 생성한 GAN 이미지

소개

오토인코더 모델

트랜스포머 모델

결론

참고 문헌

추가 자료

프롬프트 2: “MNIST와 Weights & Biases”

고전적인 조합, wandb 그리고 MNIST; 요즘 SOTA 방법론은 뭐죠? 보아하니 CNN/Inception 모델에다가… BERT 데이터셋으로 사전 학습… 그리고 XGBoost까지 조합한 것 같네요. 흠; 이런 앙상블 모델들은 점점 더 기묘해지고 있네요. 이번 사례에서 몇 가지 하이라이트는 명명된 파라미터와 손실 함수 사이의 인상적인 결합입니다 — 이 로컬-글로벌 관계의 비가환적 특성에 주목하세요. 시작할 수 있도록 모델이 친절하게 코드도 제공해 줬지만, 제가 돌려 보니 구문 오류가 한두 개 발생하네요.

소개

방법

사전 학습 기법

검증 지표

프롬프트 3: “초보자를 위한 머신러닝 학습 방법”

요즘 많은 사람들이 공통적으로, 그리고 중요하게 묻는 질문이죠. GPT가 우리에게 훌륭한 조언을 해줘서 정말 고맙게 생각합니다. 모델이 참고 자료를 많이 포함하기로 했는데, 예상보다 찾아보기 어려운 것들도 몇 가지 있었습니다. 또한 모델이 피드백에 열려 있다는 점도 좋았고, 여러분도 반드시 그 조언에 대한 의견을 댓글로 남겨 주세요.
위 프롬프트로 생성된 다소 아방가르드한 GAN 이미지

소개

자료

피드백

프롬프트 4: "W&B Sweeps"

Weights & Biases의 Sweeps는 모델 성능을 개선하고 하이퍼파라미터 공간을 탐색하는 데 매우 인기 있는 도구입니다. GPT는 이를 어떻게 활용하면 좋을지 어떤 조언을 해줄까요? 흠, 핵심 기능에 대한 꽤 기술적인 요약처럼 보이네요. 특히 스위프가 그래디언트도 활용한다는 점이 마음에 듭니다. 그리고 경사하강법.

W&B 스윕스

사용 방법

예시

자세한 정보

프롬프트 5: "GPT-3 미세 조정으로 텍스트를 생성하는 방법"

솔직히 말해서, 이제 GPT가 이런 작업을 맡을 수 있는 포스트-라이팅 시대에 우리가 굳이 이 글을 직접 썼다는 게 신기할 정도예요. 차라리 이번 것도 GPT에게 맡기는 게 낫겠네요. 정말 고마운 건, 다음과 같다는 점입니다:
검증 데이터셋이 학습 데이터셋과 동일합니다
앞으로의 ML 프로젝트에서 우리 모두가 지향할 만한 목표라고 생각합니다. 이 글에서는 GPT-5도 언급하고 있어, 확실히 미래지향적이네요!
“기계 글쓰기”를 위한 GAN 생성 이미지

소개

GPT-3 미세 조정과 데이터셋

결과

결론

결론

자, 이렇게 해서 마무리하겠습니다. 이처럼 GPT-3 미세 조정을 활용해 텍스트를 생성할 수 있습니다. 미세 조정 통합을 통해 GPT가 FC 보고서가 무엇인지 학습하도록 도울 수 있었죠. 다만 당분간은 뛰어난 보고서를 작성하기 위해 동료들과 커뮤니티의 도움에 계속 의존해야 할 것 같습니다.
즐거운 4월 보내시고 다음 내용을 확인해 보세요 새롭게 개편된 Fully Connected.

이 글은 AI가 번역한 기사입니다. 오역이 있을 수 있으니 댓글로 알려 주세요. 원문 보고서는 아래 링크에서 확인하실 수 있습니다: 원문 보고서 보기