4P by neo 10달전 | favorite | 댓글 1개
  • 인공지능 전투 엔지니어링 - 알아야 할 것들

    • 인공지능(ML) 모델, 특히 대규모 언어 모델(LLM)과 다중 모달 모델(VLM)의 성공적인 훈련을 위한 방법론을 모은 개방형 컬렉션.
    • LLM/VLM 훈련 엔지니어 및 운영자를 위한 기술 자료로, 스크립트와 복사-붙여넣기 명령어가 많이 포함되어 있어 빠르게 필요한 작업을 수행할 수 있음.
    • 2022년에 오픈소스 BLOOM-176B 모델과 2023년에 IDEFICS-80B 다중 모달 모델을 훈련하면서 얻은 경험과 노하우를 지속적으로 기록하고 있으며, 현재는 Contextual.AI에서 오픈소스 검색 증강 모델 개발/훈련 중임.
  • 목차

    • 불안정한 레이아웃에 대해 사과하며, 새로운 장을 작성하고 내용을 더 직관적으로 재구성하는 과정 중임.
  • 하드웨어 구성 요소

    • 가속기 - ML의 작업마, GPU, TPU, IPU, FPGA, HPU, QPU, RDU 등이 포함됨.
    • 네트워크 - 노드 내부 및 노드 간 연결성, 대역폭 요구 사항 계산.
    • 저장소 - 로컬 및 분산 디스크와 파일 시스템.
    • CPU - CPU와 친밀도에 대한 내용.
    • CPU 메모리 - 얼마나 많은 CPU 메모리가 충분한지에 대한 가장 짧은 장.
  • 성능

    • 고장 허용성
    • 성능
    • 다중 노드 네트워킹
    • 모델 병렬성
  • 운영

    • SLURM
    • 훈련 하이퍼파라미터 및 모델 초기화
    • 불안정성
  • 개발

    • 소프트웨어 및 하드웨어 실패 디버깅
    • 더 많은 디버깅
    • 재현성
    • 텐서 정밀도 / 데이터 타입
    • HF Transformers 노트 - 작은 모델, 토크나이저, 데이터셋 등에 대한 팁.
  • 기타

    • 자료 - LLM/VLM 연대기.
  • 바로가기

    • 자주 빠르게 찾을 필요가 있는 도구와 가이드.
    • 도구: all_reduce_bench.py, torch-distributed-gpu-test.py
    • 가이드: debugging pytorch applications, slurm for users, make tiny models/datasets/tokenizers, LLM/VLM chronicles collection
  • 책 만들기

    • PDF를 만들고 싶거나 링크를 확인하고 싶다면 '책 만들기' 섹션 참조.
  • 감사의 말

    • 이러한 노하우를 배울 수 있었던 것은 대규모 ML 컴퓨트 클러스터를 임대하는 데 드는 비용이 매우 비싸기 때문에 소수만이 누릴 수 있는 특권임.
    • Thom Wolf와 HuggingFace에 특별한 감사를 표함.
  • 기여하기

    • 버그, 오타 발견 또는 개선 제안이 있다면 이슈를 열거나 PR을 기여할 것을 권장함.
  • 라이선스

    • 이 사이트의 내용은 Attribution-ShareAlike 4.0 International 라이선스 하에 배포됨.
  • 내 저장소 맵

    • 기계 학습: ML Engineering Open Book | ML ways | Porting
    • 가이드: The Art of Debugging
    • 응용 프로그램: ipyexperiments
    • 도구 및 치트시트: bash | conda | git | jupyter-notebook | make | python | tensorboard | unix

GN⁺의 의견

  • 이 자료는 대규모 언어 모델과 다중 모달 모델을 훈련하는 데 필요한 실질적인 지식과 도구를 제공함으로써 ML 커뮤니티에 큰 기여를 함.
  • 실제 프로젝트 경험에서 얻은 노하우를 공유함으로써 초급 소프트웨어 엔지니어들이 대규모 ML 모델 훈련에 필요한 실무 지식을 습득하는 데 도움이 됨.
  • 오픈소스 접근 방식은 ML 분야의 지식 공유와 협력을 촉진하며, 이는 연구와 혁신을 가속화하는 데 중요한 역할을 함.
Hacker News 의견
  • 이 글은 정말 가치 있다. 연구를 지원하기 위해 LLM 트레이닝 설정을 디버깅하는 일을 하고 있는데, 시작할 때 이런 노트가 있었다면 좋았을 것이다.

    • LLM 트레이닝 설정 디버깅에 종사하는 사람이 초기에 이런 정보를 가졌더라면 유용했을 것임을 표현함.
  • 저는 Applied Scientist와 함께 일하면서 모델 트레이닝과 배포와 관련된 작업을 돕고 있습니다; 저 같은 사람은 최적화, 성능 등과 같은 더 낮은 수준의 엔지니어링 작업에 어떻게 노출될 수 있을까요? 우리에게는 ML 인프라 팀이 있지만, 그들의 목표는 플랫폼 주변의 도구를 구축하는 것이지, 반드시 워크로드를 최적으로 실행하는 것은 아닙니다.

    • 모델 트레이닝 및 배포를 지원하는 사람이 최적화와 성능 같은 저수준 엔지니어링 작업에 대한 경험을 얻고 싶어함을 나타냄.
  • 이것을 실험해보고 싶은데, 제대로 된 GPU가 없어요. 여러분은 이것들을 어떻게 실행하나요?

    • 적절한 GPU 없이는 실험을 시작하는 데 어려움을 겪고 있음을 표현함.
  • AI Battlefield 섹션의 "Unsolicited Advice"에 있는 모든 것에 대해 정말 감사합니다 [1]. AI 개발의 빠른 진전에 항상 허우적대는 것과 그로 인한 감정적 부담에 대한 매우 현실적인 관점입니다.

    • AI 개발의 빠른 속도와 그로 인한 감정적 부담을 현실적으로 바라보는 "Unsolicited Advice"에 대한 감사함을 표현함.
  • Slurm이 얼마나 널리 사용되고 있나요?

    • Slurm의 사용 범위에 대한 궁금증을 나타냄.
  • 무작위로 클릭해서 repeatability에 대해 알아보았는데, 분산 트레이닝에서 이것이 어떻게 달성되는지 여전히 궁금합니다. 결정적 동기화가 일을 느리게 만들지 않나요? 하지만 적어도 몇몇 큰 회사에서는 그들의 트레이닝이 반복 가능하다고 들었습니다.

    • 분산 트레이닝에서의 반복 가능성과 결정적 동기화가 성능에 미치는 영향에 대한 의문을 제기함.
  • 직업이 없을 때 이런 것들에 대한 경험을 어떻게 쌓나요?

    • 실제 직업 없이 관련 경험을 어떻게 쌓을 수 있는지에 대한 질문을 함.
  • 어딘가에 pdf가 있나요? 빌드하는 방법은 있지만 실제 파일은 없는 것 같습니다.

    • 관련 문서의 pdf 버전을 찾고 있음을 나타냄.