5P by GN⁺ | ★ favorite | 댓글 1개
  • Reka는 깨끗한 상태에서 대규모 언어·멀티모달 모델 훈련 인프라를 만들며, 컴퓨트 확보보다 클러스터 품질 편차와 운영 불안정성이 더 큰 병목이 됨
  • 같은 H100 GPU라도 공급자와 클러스터에 따라 노드 장애, 케이블링 문제, GPU 오류, I/O·파일시스템 병목, 체크포인트 삭제, 납기 지연이 겹쳐 하드웨어 복권 같은 상황이 생김
  • Google의 TPU·내부 인프라 경험과 달리 외부 GPU 환경에서는 멀티노드 학습, 배선, 지원 품질 차이가 커서 MFU와 다운타임이 클러스터마다 크게 달라짐
  • 여러 클러스터와 대용량 데이터 이동, 외부 코드베이스 제약을 감수해야 했고, Reka는 PyTorch 기반으로 옮기며 모니터링, 효율적 체크포인트, 커스텀 파일시스템을 직접 구축함
  • 제한된 컴퓨트 때문에 Big Tech식 체계적 스케일링 대신 적은 수의 짧은 절제 실험과 Yolo run에 기대야 했고, 그 결과 21B Reka Flash와 7B edge 모델을 만들 수 있었음

깨끗한 상태에서 훈련 인프라 만들기

  • Reka는 강한 멀티모달 언어 모델을 훈련하면서, 대규모 언어·멀티모달 모델을 바닥부터 훈련하는 데 필요한 인프라를 새로 구축함
  • 핵심 난점은 TPU와 GPU 중 무엇을 고르는 문제가 아니라, 외부 인프라와 코드 환경에서 실제 훈련을 안정적으로 굴릴 만큼 운영 품질을 확보하는 일이었음

LLM 시대의 하드웨어 복권

  • 모델 훈련의 첫 조건은 컴퓨트 확보지만, 실제로는 공급자·클러스터·가속기 연결 품질의 편차가 가장 큰 변수로 작용함
  • 같은 H100 GPU라도 전체 클러스터 품질은 크게 달랐고, 여기서 말하는 하드웨어는 칩 자체보다 클러스터 전체 품질에 가까움
  • Reka는 여러 컴퓨트 공급자로부터 수백~수천 칩 규모의 클러스터를 임대했으며, 상태는 비교적 해결 가능한 수준부터 몇 시간마다 실패하는 수준까지 다양했음
    • 일부 클러스터는 케이블링 문제나 GPU 하드웨어 오류 때문에 노드가 짧은 주기로 실패함
    • 같은 공급자의 클러스터끼리도 견고함이 크게 달랐음
  • 안정적인 노드가 있더라도 I/O와 파일시스템이 나쁘면 체크포인트 저장이 타임아웃되거나 클러스터 사용률이 크게 떨어짐
  • 일부 컴퓨트 소스는 실행을 위해 완전히 다른 소프트웨어 계층을 요구해, 자체 코드베이스를 가져온 팀에는 마이그레이션 비용이 추가됨
  • 사전에 어떤 하드웨어를 받게 될지, 얼마나 견고하고 장애 허용적인 경험을 하게 될지 알기 어려웠음
  • 공급자가 제때 납품하지 못하면 몇 달씩 지연되고, 다른 공급처에서도 몇 주 또는 몇 달 동안 조달하지 못하는 상황이 생길 수 있음
  • 일부 공급자는 체크포인트를 실수로 삭제하기도 했음

MFU와 장애 대응을 위한 내부 도구

  • 클러스터마다 Model Flop Utilisation(MFU) 가 달라졌고, 잘못 케이블링된 노드나 공급자 문제를 만나면 무시할 수 없는 컴퓨트가 낭비됨
  • 파일시스템이 매우 비효율적인 환경에서는 누군가 클러스터 간 대량 데이터 전송을 시작하는 것만으로 훈련 실행의 MFU가 급락할 수 있음
  • 공급자 지원 수준도 크게 갈림
    • 정중한 지원부터 무심한 대응까지 다양했음
    • “ChatGPT 스타일”의 정형 응답이나 모든 문제를 사용자 탓으로 돌리는 대응도 있었음
  • 각 클러스터는 고유한 고충과 실패 모드를 가졌고, 클러스터마다 별도 핫픽스가 필요한 것처럼 느껴졌음
  • Reka는 사용 가능한 환경을 만들기 위해 여러 내부 도구를 구축함
    • 모니터링 도구
    • 효율적 체크포인트
    • 여러 최적화
    • 확장 가능한 데이터 저장을 위한 커스텀 파일시스템 설치
  • 이런 도구 조합은 열악한 하드웨어에서도 다운타임을 줄이고 MFU를 의미 있게 개선함

GPU와 TPU 경험의 차이

  • Reka는 대부분 GPU로 모델을 훈련함
  • Google에서 대규모 언어 모델 훈련에 TPUs를 주로 사용했던 경험과 비교하면, CUDA와 nccl은 낯선 환경이었음
  • GPU 장애율은 Google에서 TPUs를 사용하던 경험과 크게 달랐음
    • Google의 UL2 20B는 작업이 실수로 한 달 동안 계속 실행됐지만 실패하지 않았음
    • GPU 환경이었다면 처음 며칠 안에 실패했을 것이라고 봄
  • 다만 이 차이는 칩 자체보다 가속기를 관리하는 하드웨어 팀의 역량과 공급자 지원 품질에 더 관련될 수 있음
  • GPU 환경의 멀티노드 훈련은 TPU pod처럼 분산 훈련을 일급 개념으로 둔 느낌이 아니라, 나중에 붙인 요소처럼 느껴졌음
  • 공급자마다 멀티노드 훈련을 가능하게 하는 배선 방식이 달라 보였고, 이 차이가 장소별 편차를 키움

멀티 클러스터 운영의 부담

  • Google 내부 인프라는 Borg, Xmanager, Colossus 위에서 어디서든 접근 가능한 환경이었음
  • 외부 환경에서는 여러 클러스터에 새 환경을 직접 구성해야 했고, 이는 이전 경험과 크게 달랐음
  • 한 장소에 대규모 가속기 풀을 직접 만들지 않는 한, 여러 클러스터의 가속기 풀을 쓰는 상황은 불가피해 보임
  • GPU 공급 부족은 조달을 자연스럽게 분산된 클러스터 형태로 만듦
  • 대규모 모델 훈련에는 수십 TB급 데이터가 필요해, 데이터를 옮기는 일 자체가 큰 부담이 됨
  • 매우 큰 규모에서는 데이터 복제도 간단하지 않고 비용 부담이 큼
  • 이상적인 형태는 여러 서버로 작업을 보내는 오케스트레이션 계층이지만, 가볍고 새로운 스타트업이 초기에 이런 정교한 ML 훈련 인프라를 갖추기는 어려움
  • Reka는 여러 내부 워크플로로 문제를 완화했고, 세계적 수준의 실험 인프라를 향해 계속 이동 중임
  • 이런 스크래피한 구성은 최상위권 또는 대기업이 아닌 곳에서는 대체로 일반적이라고 들었다고 함

외부 코드베이스와 PyTorch 선택

  • 선호하던 코드베이스는 T5XMesh Tensorflow였지만, Reka에서는 현실적인 선택지가 아니었음
    • Google 밖에서 지원이 많지 않음
    • 어느 정도 deprecated 상태임
    • 팀 내 Google 출신이 아닌 사람들에게 친화적이지 않음
  • Reka는 더 바닐라에 가깝고 안정적으로 보이며 널리 쓰이는 PyTorch를 선택함
  • 초반에는 pip, git, docker 같은 외부 개발 환경에 적응해야 했음
  • 외부에서 Google 코드베이스를 안정적이고 사용자 친화적으로 쓰기 어려웠을 가능성도 있음
  • 외부 코드베이스 품질은 Google에서 익숙했던 코드베이스보다 상당히 뒤처진다고 느꼈음
    • Google 내부 코드베이스는 Noam Shazeer, Barret Zoph, Adam Roberts, Hyung Won Chung 등 ML 연구자들이 직접 작성한 경우가 많았다고 봄
    • 다른 회사가 만든 코드 중에는 코드 품질이 특히 불만스러운 경우도 있었음
  • 일부 코드베이스에서는 모델 병렬화 구성을 바꾸기 위해 별도 변환기를 작성해야 했고, 병렬화 변경이 자동으로 제공되지 않았음
  • 대규모 encoder-decoder 훈련이나 prefixLM 훈련 지원도 부족했음
  • flash attention은 GitHub 이슈에서 합리적인 수요가 있었음에도 prefixLM 훈련, 즉 커스텀 마스크 지원을 계속 제공하지 않았다고 함
  • Jax를 써야 한다는 인식은 있었지만, 스타트업에서 빠르게 움직이기 위해 PyTorch를 선택함

제한된 컴퓨트와 Yolo run

  • 체계적인 모델 스케일링은 보통 1B → 8B → 64B → 300B처럼 작은 모델에서 큰 모델로 여러 단계 실험을 실행하고, 승자를 골라 계속 키우는 방식임
  • 스타트업에서는 하이퍼파라미터를 확인하기 위한 대규모 스윕을 수행할 컴퓨트가 훨씬 부족했음
  • Reka는 많은 Yolo run에 의존했고, 결과적으로 잘 풀렸다고 봄
  • 적은 수의 더 작은 규모·짧은 절제 실험만으로 강한 21B Reka Flash, 7B edge 모델, 그리고 예정된 가장 큰 core 모델까지 도달함
  • 제한된 실행 횟수로 좋은 레시피를 찾기는 어렵고, 탐색 공간이 매우 커서 한 번에 많은 변수를 바꿔야 했음
  • Big Tech식 체계성 대신 Yolo, 감, 직관에 많이 의존해야 했음
  • 팀원들이 이전 ML 경력에서 쌓은 직관은 적은 시도 안에 맞추는 데 도움이 됨
  • 이전 직장에서 좋은 모델을 훈련한 경험이 있어도, 훈련 인프라, 데이터, 새 아이디어 통합, 환경 이슈 차이가 결과에 작지 않은 차이를 만들 수 있음
  • 강한 사전 경험은 탐색 공간을 크게 줄였고, 적은 시행·자원·실험으로 강한 모델을 훈련할 수 있었던 쉬운 설명 중 하나로 볼 수 있음

1년 미만의 결과와 남은 과제

  • 컴퓨트 부족과 불안정한 컴퓨트 공급자는 예상보다 훨씬 큰 어려움을 만들었음
  • Reka는 회사를 시작해 자금을 조달하고 칩을 구매한 뒤 모든 것을 바닥부터 구축함
  • 1년이 안 되는 기간에 Gemini Pro/GPT-3.5와 맞먹고 다수 모델을 능가했다고 함
  • 데이터 파이프라인과 인간 평가 등은 아직 더 다룰 주제로 남아 있음

댓글과 토론

Hacker News 의견들
  • 이 맥락에서 스타트업은 결국 소수 인원과 학습 클러스터에 쓸 큰 자금을 가진 조직처럼 보임
    글은 여러 서버 임대 사업자가 있고, 그 서버들이 여러 스타트업이나 기존 기업으로 간다고 전제함
    결국 여러 LLM 제작자가 비슷한 하드웨어와 비슷한 데이터로 텍스트·이미지 학습을 하며 대체로 같은 일을 하고, 각자 “비밀 소스”로 차별화하려는 구조임
    그런 비밀 소스가 LLM 출력 품질에 차이를 만들 수는 있지만, 전체적으로는 에너지를 많이 쓰는 거대한 중복 작업처럼 보임

    • 이런 중복의 낭비는 시장이 의도대로 작동할 때 흔히 생기는 현상임
      최종적으로는 아주 작은 비율만 적당한 성공이라도 거두겠지만, 진보의 최전선에서는 치러야 하는 비용임
      계획된 독점이 더 효율적일 수는 있어도, 그런 구조가 혁신에서 시장을 이기는 경우는 드묾
    • 대부분은 특별한 비밀 소스가 없다고 봄
      창업자들은 “거의 최첨단” LLM을 학습시킬 수 있다는 이유만으로 인수되길 바라는 것 같고, 그 정도 역량과 인프라는 그 위에 뭔가를 쌓을 만큼 가치가 있을 수도 있음
    • 더 단순하게 보면, 원가가 X인 연산 자원에 클라우드 사업자가 20X를 받는 대신 그 돈으로 학습 데이터를 만들 수도 있음
      다만 그 이야기는 투자자에게 설명하기가 훨씬 어려움
    • 이건 진짜 비밀 소스에서 사람들 눈을 돌리기 위한 교란용 허수일 수도 있음
      실제로는 많은 스타트업이 작가와 사진가를 고용해, 오염되지 않고 라벨이 매우 잘 붙은 학습 데이터를 만들고 있을 것 같음
      civitai 쪽을 보면 작은 연산 예산으로도 촘촘한 라벨링만으로 얼마나 멀리 갈 수 있는지 알 수 있음
    • 이런 스타트업이 실제로 그렇게 많지는 않음
      LLM의 대부분 활용 사례는 기성 기반 모델을 미세조정하는 것으로 뒷받침 가능함
      기반 모델을 처음부터 학습한다면 수익화가 어려운 시장에 들어가는 셈이고, 대형 업체가 새 기반 모델 하나만 내도 내 모델이 하는 일의 95% 이상을 해버릴 수 있음
  • 맥락상 Yi Tay는 Google PaLM, UL2, Flan, Bard 등의 테크 리드였고, 지금은 Reka 공동창업자임
    Reka는 여기에도 올라온 적 있는 흥미로운 소형 멀티모달 모델들을 출시했음
    Google 출신이 독립 스타트업에서 LLM을 학습하는 입장이라 이 글을 써달라고 요청했음: https://twitter.com/YiTayML/status/1765105066263052718
    대화 녹음은 여기 있음: https://sub.thursdai.news/p/thursdai-feb-15-2024-openai-chan...

    • Yi LLM 모델의 그 Yi와 같은 사람인지 궁금함
  • 이 글을 통해 reka.ai를 알게 됐고, 아직 HN에서는 Reka의 LLM이 많이 다뤄지지 않은 것 같음 [1]
    호기심에 지난 한 시간 동안 채팅 인터페이스 [2]로 ChatGPT 4, Gemini Advanced, Claude 3, Mistral Large와 비교해 프롬프트를 테스트했고 결과를 [3]에 올렸음
    전반적으로 Reka Flash가 다른 모델보다 크게 나쁘거나 좋지는 않아 보임
    물론 확실히 보려면 훨씬 더 많은 테스트가 필요함
    [1] https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
    [2] https://chat.reka.ai/chat
    [3] https://gally.net/temp/20240307llmcomparison.html

  • 저자가 독자들이 “황야”를 Google이 아닌 곳으로 이해한다고 그냥 전제한다는 점은 짚고 넘어갈 만함
    이 글은 Google의 인프라와 하드웨어 팀에 많은 공을 돌리는데, 그 안에 있던 사람이 이후 다른 곳에서 관련 일을 해본 관점도 읽어보고 싶음

    • “Google에서 TPU를 쓰던 경험과 달리 GPU 고장률에 완전히 놀랐다”는 대목이 꽤 드러내는 바가 큼
      더 정확히는 “경력 내내 Google 안에서 Google TPU를 썼고 그 고장 양상에는 익숙했지만, GPU의 고장 양상은 전혀 몰랐다”에 가까움
      GPU를 주로 쓰다가 TPU를 써봤을 때는 디버깅하기 어려운 이유로 작업이 계속 실패했음
      x86 칩과 TPU 장치 사이의 간접 계층 때문에 몇 시간씩 머리를 쥐어뜯는 경우가 많았고, x86+NVIDIA+PyTorch에서는 겪지 않는 종류였음
      10~15년 전 Google은 1천만 달러 이상 가치의 데이터 과학자들, 즉 Sawzall 엔지니어들을 많이 배출했고, 그들도 “황야”로 나가 비슷한 반응을 보였음
      이 글은 커뮤니티에 유용한 기록을 남긴다기보다, 글쓴이가 자기 회사와 개인 브랜드를 띄우는 성격이 더 강해 보임
    • 원글은 GPU 고장률을 두고 “이게 GPU 세계였다면 처음 며칠 안에 확실히 실패했을 것”이라고 말함
      내 생각에는 대규모 학습에서도 GPU 고장을 겪은 적이 없음
      현재 학습 배치 작업은 로드만 6시간 걸리는 20GB JSON 파일이고 15일 넘게 문제없이 돌고 있으며, 더 오래된 Tesla T4를 쓰고 있음
      GPU에는 메모리 제약 문제가 있지만, 계획하고 우회할 수 있으면 실제로는 크래시를 본 적이 없음
    • 그 표현은 “대기업 밖”이라는 뜻으로 받아들였음
      꽤 명확한 은유처럼 보이고, 대규모 인프라 프로젝트를 하는 스타트업이라면 실제 황야에 캠프를 차리듯 물류 체계를 직접 구축해야 함
    • 동의함
      Seven of Nine이 Collective에서 떨어져 나와 하찮은 인간 역량에 의존해야 한다는 걸 깨닫는 장면처럼 읽힘
      공급업체에 대한 통찰은 유익했음
    • 초보 질문인데, LLM 학습 작업 중 하드웨어 고장이 나면 그다음에는 어떻게 되는지 궁금함
      설마 학습 진행분을 전부 잃지는 않을 테니, 고통은 주로 문제를 진단하고 클러스터를 다시 띄우는 데 있고 데이터 손실은 걱정하지 않아도 되는 건가?
  • 그런데 이들이 파는 제품은 무엇임?
    Reka.AI 메인 페이지는 토큰 단위로 돈을 내는 일반적인 ChatGPT 클론처럼 보임
    다른 회사들과 뭐가 다른지 모르겠고, 가격도 ChatGPT 3.5-Turbo와 비슷해 보임

    • AI에 투자하지 못한 벤처캐피털의 FOMO 치료제일 수도 있음
  • LLM을 처음부터 학습하는 문제는 AI의 반복 속도와 폭에, 원시 하드웨어 개선만큼이나 큰 영향을 주는 매우 중요한 주제임
    글은 재미있지만 다소 얕고, 수년간 어떤 형태로든 GPU 클러스터를 다뤄봤다면 기술적으로 깊거나 놀랍지는 않음
    전직 Googler의 관점은 좋았지만, Google 밖에서 LLM을 할 때 과거 동료들이 왜 PyTorch보다 JAX를 추천했는지는 잘 모르겠음
    이 신생 회사가 나중에 학습 여정에 대해 더 기술적인 보고서를 내주면 좋겠음. 예를 들면 여기 PDF 같은 것: https://github.com/facebookresearch/metaseq/tree/main/projec...

    • 연구를 한다면 JAX도 어느 정도 말이 됨
      Google 편향도 아마 섞여 있을 것임
  • 큰 질문은, 올바른 배경과 혈통이 없는 소형 스타트업이 LLM 제품으로 어떻게 자금을 조달하느냐임
    LLM 스타트업 세계는 헤지펀드와 사모펀드 세계를 닮아가고 있음
    시드 투자와 자금 조달의 전제 조건은 A) 명문 경력과 올바른 혈통, B) 제품이 시작되기도 전에 뛰어들 준비가 된 탄탄한 투자자 네트워크처럼 보임

    • 그런 배경이 없으면 못 받음
      VC들이 이런 회사에 투자하는 이유도 아마 그 때문일 것임
      전 세계에서 자금을 조달할 만한 올바른 경험을 가진 사람은 매우 한정돼 있고, 자금을 조달할 수 있는 사람만 그런 경험을 쌓을 수 있으니 자연스러운 진입장벽이 생김
      적어도 연산 비용이 충분히 싸질 때까지는 그럴 듯함
  • “회사를 세우고, 돈을 모으고, 칩을 사고, 1년도 안 돼 모든 것을 처음부터 구축하면서 Gemini Pro/GPT 3.5에 맞먹고 많은 모델을 능가했다”는 대목을 보면, GPT 3.5 수준 LLM에 도달하기 위해 칩이나 클라우드 GPU에 쓴 예산 규모가 궁금함
    대략적인 자릿수라도 200만~500만 달러 정도였을까?

  • 제목은 “ground zero”보다 “from the ground up”이어야 하는 것 아닌가 싶음: https://en.wikipedia.org/wiki/Hypocenter

    • https://www.merriam-webster.com/dictionary/ground%20zero
      관용구로는 완전히 받아들일 만한 용법임
    • 의도적일 수도 있음
      LLM이 기술 업계에 비유적 핵폭탄이라는 뜻일 수 있지만, 솔직히 나도 헷갈렸음
    • 맞음, 제목은 두 관용구를 혼동한 것처럼 들림
      그런 유형의 저자에게서 배우고 싶지는 않음
  • Google 시스템이 안정적인 이유는 Google이 25년 동안 데이터센터 하드웨어, 소프트웨어, 프로세스 개발에 수백억 달러를 투자했기 때문임
    더 작고 덜 성숙한 조직의 매우 유능한 팀도 항상 훨씬 낮은 품질의 결과물을 낼 수밖에 없음
    또 고려할 것은 우선순위임
    Google은 안정성을 우선시하고, 비교적 드문 고장이라도 반복해서 실패하는 부품은 퇴역시킴
    더 작고 덜 정교한 데이터센터는 자주 고장나는 부품도 계속 쓰거나, 특정 부품의 고장률을 모니터링조차 하지 않음
    작은 데이터센터는 Google의 오래된 부품과 신뢰성이 낮은 부품을 사서 쓰기도 함
    따라서 기계가 불안정하다고 해서 하드웨어 팀의 역량을 말해주는 것은 아님
    하드웨어의 낮은 안정성이 일을 늦춘다면, 불안정한 하드웨어를 견딜 수 있도록 소프트웨어를 개선하거나 더 안정적인, 더 비싼 하드웨어 제공업체로 옮기면 됨