higgsfield-ai/higgsfield

Fault-tolerant, highly scalable GPU orchestration, and a machine learning framework designed for training models with billions to trillions of parameters

higgsfield – 분산 학습을 쉽게 만듭니다

무엇인가요 – higgsfield는 매우 큰 신경망(수십억~수조 개의 파라미터)을 위한 오픈소스 Python 패키지입니다. 표준 PyTorch 생태계에 통합되며, DeepSpeed의 ZeRO-3 API와 PyTorch의 Fully-Sharded Data Parallel(FSDP)을 지원하여 LLaMA-70B와 같은 LLM을 머신 클러스터에서 실행할 수 있습니다.


핵심 기능 (README에 설명됨)

기능 설명
노드 할당 컴퓨팅 노드의 독점 또는 공유 접근을 제공하여 사용자가 트레이닝 실행 시 GPU를 예약할 수 있습니다.
Zero-3 / FSDP 지원 DeepSpeed의 ZeRO-3와 PyTorch FSDP를 감싸 모델 파라미터를 GPU 간에 샤딩하여 수조 파라미터 모델을 실행할 수 있습니다.
실험 라이프사이클 단순한 Python 데코레이터(@experiment)를 통해 실행을 생성하고, 할당된 노드에서 실행하며, GitHub 기반 UI를 통해 로그/메트릭을 스트리밍합니다.
큐 및 경합 처리 여러 사용자가 클러스터를 공유해도 서로 간섭하지 않도록 작업 큐를 유지합니다.
GitHub 중심의 CI/CD GitHub Actions 워크플로우를 생성하여 코드를 클러스터에 자동 배포하고, 실험을 실행하며, 체크포인트를 허브로 푸시합니다.
환경 재현성 각 노드에 Docker, 드라이버, higgsfield 바이너리를 설치하여 "환경의 지옥"을 피합니다.
최소한의 설정 거대한 인수 목록이나 YAML 파일이 필요 없으며, 실험을 위한 최소한의 Python 전용 인터페이스를 제공합니다.

빠른 시작 설치

pip install higgsfield==0.0.3   # PyPI에서 최신 릴리스 패키지 가져오기

이 패키지는 노드 등록, GitHub 워크플로우 생성, 실험 실행에 필요한 명령줄 도구를 포함합니다.


최소한의 트레이닝 예제 (README에서)

from higgsfield.llama import Llama70b
from higgsfield.loaders import LlamaLoader
from higgsfield.experiment import experiment
import torch.optim as optim
from alpaca import get_alpaca_data

@experiment("alpaca")
def train(params):
    # 700억 파라미터 LLaMA 모델, ZeRO-3 샤딩, bf16 정밀도
    model = Llama70b(zero_stage=3, fast_attn=False, precision="bf16")
    optimizer = optim.AdamW(model.parameters(), lr=1e-5)
    dataset = get_alpaca_data(split="train")
    train_loader = LlamaLoader(dataset, max_words=2048)

    for batch in train_loader:
        optimizer.zero_grad()
        loss = model(batch)
        loss.backward()
        optimizer.step()

    model.push_to_hub('alpaca-70b')   # 최종 체크포인트를 HuggingFace 허브에 저장

이 스크립트를 higgsfield에 등록된 머신에서 실행하면 다음이 수행됩니다:

  1. 필요한 수의 GPU 노드를 시작 (생성된 GitHub Action을 통해).
  2. 실험에 노드를 할당.
  3. 트레이닝 루프 실행.
  4. 로그/메트릭을 GitHub UI로 스트리밍.
  5. 최종 모델 체크포인트를 푸시.

자동화 작동 방식

  1. 노드 부트스트랩 – higgsfield는 지정한 각 노드에 Docker, 필요한 드라이버, 자체 바이너리를 설치합니다.
  2. 워크플로우 생성 – 리포지토리 클론, 환경 설정, Docker 내에서 실험 실행을 위한 GitHub Actions 워크플로우를 생성합니다.
  3. GitHub 기반 배포 – 커밋을 푸시하면 워크플로우가 트리거되어 코드가 할당된 노드에 자동 배포됩니다.
  4. UI 및 모니터링 – GitHub 인터페이스에서 실험 상태, 로그를 확인하고 체크포인트를 다운로드할 수 있습니다.

지원되는 환경

  • OS: Ubuntu (최근 LTS 버전)
  • 접근: 비루트 사용자로 SSH 접속, 비밀번호 없이 sudo 권한
  • 테스트된 클라우드: Azure, LambdaLabs, FluidStack (SSH로 접근 가능한 원시 Ubuntu VM을 제공하는 클라우드는 모두 작동 가능).

문서 링크 (README 링크)

  • 설치 가이드setup.md는 노드 등록, 환경 준비, 첫 실행 배포 절차를 안내합니다.
  • 튜토리얼tutorial.md는 분산 모델 처리, 데이터 로딩, 옵티마이저 기술, 체크포인트, 안정성 기술, 모니터링을 다룹니다.
  • 지원 채널 – GitHub Issues (응답 < 1일), Twitter, 프로젝트 웹사이트.

누가 이득을 볼 수 있나요?

  • 단일 GPU 메모리 용량을 초과하는 LLM을 트레이닝하는 연구자 또는 엔지니어.
  • GitHub을 코드 협업에 사용하고 PR/커밋에서 트레이닝 작업을 자동으로 시작하고 싶은 팀.
  • 클러스터 내에서 여러 CUDA/PyTorch 버전을 관리하는 데 지친 사람; higgsfield의 Docker 기반 접근 방식으로 이러한 종속성을 격리할 수 있습니다.

주의할 점

  • 프레임워크는 자체 GPU 노드 (온프레미스 또는 클라우드 VM)를 전제로 합니다. 관리형 GPU 인스턴스는 제공하지 않습니다.
  • 현재는 Ubuntu만 지원합니다; 다른 리눅스 배포판은 수동으로 적응이 필요합니다.
  • README는 LLaMA-70B를 소개하지만, API는 일반적입니다. 그러나 이미 래핑되지 않은 아키텍처의 모델 클래스는 직접 제공해야 합니다.
  • 패키지 버전은 0.0.3이며 초기 개발 단계임을 나타냅니다. 종종 파괴적 변경이 발생할 수 있습니다.

TL;DR

higgsfield는 Ubuntu GPU 서버 세트를 장애 내성적이고 큐 인식 가능한, 거대한 LLM용 트레이닝 클러스터로 바꾸는 가벼운 오케스트레이션 계층입니다. DeepSpeed ZeRO-3 또는 PyTorch FSDP를 내부적으로 활용하고 모든 것을 GitHub Actions에 연결함으로써, 수조 파라미터 실험을 몇 줄의 Python 코드로 시작, 모니터링, 체크포인트화할 수 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트