DeepSeek와 Huawei Ascend 호환:HAI-LLM, Megatron-LM, DeepSpeed 프레임워크 활용 분석

DeepSeek 모델의 훈련 방식과 Huawei Ascend 칩셋과의 호환성에 대한 의문은 종종 Megatron-LM 또는 DeepSpeed와 같은 프레임워크의 사용 여부와 관련하여 제기됩니다. 이에 대한 명확한 답변은 다음과 같이 두 가지 측면으로 나누어 설명할 수 있습니다.

1. DeepSeek 자체 훈련 프레임워크: HAI-LLM

DeepSeek는 자체적으로 HAI-LLM (Highly Adaptive & Integrated LLM Training)이라는 훈련 프레임워크를 개발하여 사용하고 있습니다. 이 프레임워크는 Megatron-LM이나 DeepSpeed와 같이 대규모 언어 모델 훈련에 특화된 기능을 다수 포함하고 있습니다.

  • 다양한 병렬 처리 지원: 데이터 병렬(DP), 텐서 병렬(TP), 파이프라인 병렬(PP), 시퀀스 병렬, 1F1B 파이프라인 등 복잡한 병렬 처리 기법을 지원합니다.
  • ZeRO 최적화: ZeRO-1 및 ZeRO-3 옵티마이저 상태 및 파라미터 분할 기법을 활용하여 메모리 효율성을 높입니다.
  • 성능 최적화: 계산/통신 오버랩, 연산자 융합, Flash Attention과 같은 고급 최적화 기법을 적용합니다.
  • MoE 특화 기능: V3 모델에서는 MoE(Mixture of Experts) 아키텍처를 위해 DualPipe와 같은 전용 스케줄링 알고리즘을 도입했습니다.

기능적으로 볼 때, HAI-LLM은 "DeepSeek 버전의 Megatron + DeepSpeed 혼합체"라고 할 수 있으며, 현재는 DeepSeek 자체 모델 훈련에만 사용되고 있으며 전체 프레임워크가 공개되지는 않았습니다.

2. Huawei Ascend 칩셋 호환성: MindSpeed-LLM + Megatron-LM 활용

DeepSeek 모델을 Huawei Ascend 칩셋에서 훈련하거나 추론할 때, HAI-LLM 프레임워크 전체를 그대로 이식하는 방식이 아니라, Huawei에서 제공하는 기존의 훈련 스택을 활용합니다. 이는 다음과 같은 구성으로 이루어집니다.

2.1 Huawei Ascend의 기존 훈련 스택

Huawei는 Ascend 칩셋을 위한 포괄적인 대규모 모델 훈련 및 추론 스택을 구축해왔습니다.

  • CANN (Compute Architecture for Neural Networks): CUDA와 유사한 하드웨어 가속 컴퓨팅 아키텍처입니다.
  • MindSpeed: Ascend 칩셋을 위한 고성능 딥러닝 가속 라이브러리로, 병렬 처리 최적화, 연산자 융합, 통신 최적화 등의 기능을 제공합니다.
  • MindSpeed-LLM: Megatron-LM의 핵심 아키텍처를 기반으로 MindSpeed의 Ascend 최적화 계층을 통합한 LLM 훈련용 프레임워크입니다.
  • MindIE: 대규모 모델 추론 엔진으로, vLLM-Ascend와 같은 솔루션을 포함합니다.

특히 MindSpeed-LLM은 다음과 같은 구조를 가집니다.

  • 상위 계층: Megatron-LM의 텐서 병렬, 파이프라인 병렬, 데이터 병렬 훈련 로직
  • 중간 계층: MindSpeed를 통한 Ascend 칩셋 특화 최적화 및 패치
  • 하위 계층: CANN, torch_npu (PyTorch NPU 통합), HCCL (Huawei Collective Communication Library)

결론적으로, Ascend 칩셋은 이미 "Megatron-LM + MindSpeed" 조합을 통해 "Ascend 버전의 Megatron 프레임워크"를 제공하고 있습니다.

2.2 DeepSeek의 Ascend 호환 방식

Huawei 공식 문서 및 커뮤니티 자료에 따르면, DeepSeek 모델의 Ascend 칩셋에서의 훈련 및 추론은 MindSpeed-LLM + Megatron-LM 경로를 따릅니다.

  • Huawei ModelArts의 사전 구성된 이미지에는 MindSpeed-LLM 이미지가 포함되어 있으며, 이는 "MindSpeed 가속 라이브러리와 Megatron-LM 핵심 아키텍처를 깊이 통합하여 파트너에게 엔드투엔드 대규모 모델 훈련 솔루션을 제공한다"고 명시하고 있습니다.
  • 실제로 Ascend 칩셋에서 MindSpeed-LLM + Megatron-LM을 사용하여 DeepSeek-V4-Flash 모델의 훈련 및 추론을 수행하는 단계별 가이드가 존재합니다.
  • Ascend 커뮤니티에는 DeepSeek 모델 전용 섹션이 마련되어 있으며, DeepSeek-V3/V4/R1 등의 모델을 OM/MindIR 가중치 형식으로 변환하고 MindIE/vLLM-Ascend를 통해 추론하는 솔루션을 제공합니다.

이러한 사실들은 다음과 같은 점을 시사합니다.

  • 훈련: DeepSeek는 Ascend 칩셋에서 MindSpeed-LLM (Megatron-LM 핵심 기반)을 사용하며, HAI-LLM에서 축적된 병렬 처리 및 통신 전략을 이식합니다. HAI-LLM 프레임워크 자체를 완전히 대체하는 것은 아닙니다.
  • 추론: MindIE / vLLM-Ascend를 사용하며, 이는 HAI-LLM 자체의 추론 엔진과는 별개입니다.

3. "Ascend 호환"의 구체적인 작업 내용

DeepSeek의 Ascend 호환 작업은 크게 세 가지 계층으로 나눌 수 있습니다.

  1. 하위 계층: 연산자/런타임 마이그레이션
    • CUDA 기반의 연산자를 CANN 기반으로 마이그레이션하고 200개 이상의 핵심 연산자를 재작성했습니다.
    • torch_npu를 사용하여 PyTorch 인터페이스를 Ascend NPU에 연결합니다.
  2. 프레임워크 계층: HAI-LLM의 경험을 MindSpeed-LLM에 이식
    • HAI-LLM에서 검증된 병렬 처리 전략(PP/EP/DP/ZeRO 등)과 통신/스케줄링 최적화 기법을 MindSpeed-LLM + Megatron-LM 환경에서 재구현하고 튜닝했습니다.
    • MindSpeed의 그래프-연산자 융합, HCCL 통신 최적화, 활성화 재계산 등 Ascend 전용 최적화를 활용합니다.
  3. 모델/가중치 호환
    • DeepSeek-V3/V4 등 모델의 가중치를 Ascend 칩셋에 최적화된 형식(BF16/FP8, OM/MindIR 등)으로 변환하고, MindIE/vLLM-Ascend와 연동하여 추론 성능을 최적화했습니다.

4. 요약

  • HAI-LLM: DeepSeek는 자체 개발한 Megatron/DeepSpeed와 유사한 훈련 프레임워크인 HAI-LLM을 보유하고 있으며, 이를 자체 모델 훈련에 활용합니다.
  • Ascend 호환: Huawei Ascend 칩셋과의 호환을 위해 HAI-LLM 프레임워크 전체를 이식하는 것이 아니라, Ascend의 기존 프레임워크 스택인 MindSpeed-LLM + Megatron-LM + CANN을 기반으로 합니다. HAI-LLM에서 축적된 경험과 모델 특성을 이 스택으로 이전하고, 추론 시에는 MindIE/vLLM-Ascend를 사용합니다.

따라서 더 정확한 표현은 다음과 같습니다.

DeepSeek가 Ascend 칩셋과 호환되는 과정은, Ascend에서 제공하는 "MindSpeed-LLM + Megatron-LM + CANN" 프레임워크 스택 위에서, 자체 HAI-LLM의 경험과 모델 특성을 이식하는 방식으로 이루어졌습니다. 이는 제로베이스에서 새로운 프레임워크를 만드는 것이 아닙니다.

I. 연산자 (Operators)

TileLang (타일랭)

국산 GPU/NPU를 위한 전용 연산자 프로그래밍 언어로, 북경대학 양지(Yang Zhi) 교수팀이 개발했으며 DeepSeek-V3.2의 핵심 하위 연산자 개발 언어로 채택되었습니다. CUDA 및 Triton을 대체하는 것을 목표로 합니다.

A. 기본 정보

  • 개발 주체: 북경대학 컴퓨터과학과 양지 부교수팀 (TileAI 커뮤니티), 2025년 1월 GitHub 오픈 예정 (`tile-ai/tilelang`).
  • 목표: 고성능 AI 연산자 DSL(Domain-Specific Language) 분야의 전용 언어로, GPU/Ascend/Cambricon/AMD NPU 등 다양한 NPU의 저수준 커널(GEMM, FlashAttention, 양자화 연산자 등 대규모 모델 핵심 연산자) 개발에 특화되어 있습니다.
  • 주요 적용 사례: DeepSeek V3.2는 전체 파이프라인에서 TileLang으로 연산자를 재작성하여 OpenAI 주도의 Triton을 대체했습니다. 또한, Huawei Ascend 칩셋과의 즉시 호환성(Day 0)을 확보했으며, Sunway(OceanGrid), AMD 등 다양한 플랫폼과의 호환성을 제공합니다.

B. 핵심 특징

1. 문법: Python 유사, 쉬운 학습 곡선

Python과 유사한 간결한 문법을 제공하여 CUDA의 복잡한 스레드 및 메모리 관리 없이도 쉽게 개발할 수 있습니다. 예를 들어, FlashAttention 연산자의 경우 기존 CUDA 코드는 약 500줄이 필요했지만, TileLang으로는 70~80줄로 80% 이상 코드 축소가 가능합니다.

# 간결한 예시 스타일
@tilelang.jit
def gemm(A: T.Tensor, B: T.Tensor, C: T.Tensor):
    # 타일 기반 블록 계산, 컴파일러가 자동으로 하드웨어 스케줄링
    pass
2. 크로스 칩셋 지원: 단일 코드, 다중 하드웨어 컴파일

하나의 코드로 다양한 하드웨어에 대한 컴파일이 가능합니다.

  • NVIDIA CUDA (A100/H100)
  • Huawei Ascend
  • AMD ROCm
  • Cambricon, Biren 등 중국 내 NPU

기반 기술로 TVM 컴파일러 아키텍처를 사용하여 데이터 흐름과 하드웨어 스케줄링을 분리하고, 컴파일러가 자동으로 하드웨어 최적화를 수행합니다.

3. 성능: CUDA와 동등, Triton보다 우수
  • H100에서의 실제 테스트 결과, 동등한 연산자에서 Triton보다 전반적으로 우수하며, 일부 연산자는 2~5배의 성능 향상을 보였습니다. 또한, 네이티브 CUDA 코드 작성과 동등한 성능을 달성했습니다.
  • 자동 타일링(tiling), 소프트웨어 파이프라이닝, 메모리 배치 최적화 등을 통해 개발 효율성과 하드웨어의 극한 성능을 동시에 확보합니다.

C. DeepSeek가 TileLang을 선택한 이유

  1. 비용 절감 및 성능 향상: 자체 연산자 개발 주기가 대폭 단축되었으며, 대규모 모델의 훈련/추론 지연 시간이 감소하고 API 서비스 비용이 절감되었습니다.
  2. 국산 연산 능력 지원의 필수성: DeepSeek가 Ascend와 같은 중국산 칩셋을 지원해야 하므로, TileLang은 다양한 하드웨어 간의 프로그래밍 차이를 통합적으로 관리합니다.
  3. Triton 생태계 의존성 탈피: Triton은 CUDA 생태계에 종속적인 반면, TileLang은 자체적인 제어력과 중국산 연산 능력 지원에 유리합니다.

D. 설치 및 사용법

# pip 설치
pip install tilelang
# PyTorch/Paddle 생태계별 호환 패키지 설치
pip install tilelang-paddle

PyTorch/Paddle에 통합하여 네이티브 CUDA/Triton 연산자를 대체하는 사용자 정의 고성능 연산자를 개발할 수 있습니다.

E. 경쟁사 비교

언어 개발 주체 생태계 크로스 하드웨어 호환성 주요 적용 분야
CUDA NVIDIA NVIDIA GPU 전용 낮음 NVIDIA GPU 극한 성능, 높은 개발 비용
Triton OpenAI/NVIDIA NVIDIA GPU 우선 보통 주요 AI 연산자 신속 개발, 중국산 칩셋 지원 미흡
TileLang 北大 TileAI 모든 칩셋 호환 매우 높음 중국산 NPU + NVIDIA GPU 범용, 대규모 모델 연산자 최적

II. 통신 (Communication)

관련 비디오 링크

III. 훈련 안정성, 정밀도 및 수치 일관성

IV. 개발자 생태계 (Developer Ecosystem)

시스템 스케줄링과 같은 복잡한 영역은 AI로 대체하기 어렵습니다.

태그: DeepSeek hai-llm megatron-lm DeepSpeed huawei ascend

7월 25일 18:58에 게시됨