> 기술 주변기기 > 일체 포함 > DeepSeek가 발표 한 최적화 된 병렬 처리 전략

DeepSeek가 발표 한 최적화 된 병렬 처리 전략

Lisa Kudrow
풀어 주다: 2025-03-03 18:34:10
원래의
253명이 탐색했습니다.
? #opensourceweek의 4 일차 : 최적화 된 병렬 처리 전략 ✅ Dualpipe-V3/R1 교육에서 계산-통신 중첩을위한 양방향 파이프 라인 병렬 처리 알고리즘.
? https://t.co/gbtxsvwlt4이 릴리스는 오픈 소스 주간 축하 행사의 날 4 일을 표시하며, 1 일째 Flashml, Deepep, Deepgemm 3 일에 성공적으로 출시되었습니다. 목차



파이프 라인 병렬 처리 이해

듀얼 파이프 : 양방향 파이프 라인 병렬 처리

주요 기능

기술 세부 사항
  • 세부 사항
      계층 적 부하 밸런싱
    • 글로벌로드 밸런싱
    • 프로파일 링 데이터 : 계산-통신 중첩 분석
  • 주요 기능
    • 방향
    • 결론
    • 파이프 라인 병렬 처리 이해
    • 파이프 라인 병렬 처리는 모델의 훈련 시퀀스의 다양한 세그먼트의 동시 처리를 용이하게하는 접근법입니다. 모델을 분할하고 여러 입력을 한 번에 처리함으로써 파이프 라인 병렬 처리는 훈련 기간을 현저하게 축약 할 수 있습니다. 그러나 전통적인 파이프 라인 방법론은 성능을 손상시키는 유휴 간격 또는 "거품"을 포함하여 비 효율성이 발생하기 쉽습니다. Dualpipe와 같은 혁신은 이러한 비 효율성을 개선하고 전반적인 효율성을 강화하기 위해 도입됩니다. 딥 러닝 내에서“파이프 라인의 기포”표현은 파이프 라인 병렬 훈련 중에 GPU의 비활성 간격을 특징으로하며, 파이프 라인의 세그먼트가 중단되어 선행 세그먼트의 데이터가 보류됩니다. 이는 비효율적 인 GPU 리소스 관리에서 절정에 달하는 계산 진행에서 "갭"또는 "버블"을 생성합니다. dualpipe : 양방향 파이프 라인 병렬 처리 dualpipe는 정교한 양방향 파이프 라인 병렬 처리 알고리즘으로, 전방 및 후진 계산 통신 단계 사이의 중첩을 최대화하는 것을 목표로합니다. 이 접근법은 특히 파이프 라인 버블을 줄이는 데 유리하며, 이는 훈련 효율을 크게 방해 할 수 있습니다. 키 기능

      전체 오버랩 :

      는 전방 및 후진 단계의 완전한 오버랩을 달성하여 자원이 효과적으로 활용되도록합니다. 감소 된 파이프 라인 버블 :

      훈련 중 유휴 시간을 최소화하여 리소스 활용도가 향상되고 교육 시간이 빠릅니다. 기술 세부 사항

      알고리즘의 성능은 8 pp 순위와 20 개의 마이크로 배치가 포함 된 스케줄링 예를 통해 설명 할 수 있습니다. 역 방향의 마이크로 배치는 전방 방향에있는 것과 대칭하여 그림을 단순화합니다. 메소드
      Bubble
    • 매개 변수 활성화 1f1b (pp-1) (??) 1 × pp zb1p (pp-1) (?? -2?) 1 × pp dualpipe (pp/2-1) (? &? -3?) 2 × pp 1 테이블>

      여기서 :

      ? : 전방 청크의 실행 시간
        ? : 전체 뒤로 청크의 실행 시간 ? : "무게의 후진"청크의 실행 시간 <: :>? &? & : 두 개의 상호 겹쳐진 앞뒤 덩어리의 실행 시간
      • 8 pp (파이프 라인 병렬 처리) 순위 및 20 개의 마이크로 배치에 대한 듀얼 파이프 스케줄링 구성. 두 방향에 중점을 둡니다. 역 방향으로 처리 된 마이크로 배치는 전방 방향으로 미러링되어 그림을 단순화하기 위해 배치 식별자를 생략 할 수 있습니다. 공통 검은 테두리를 공유하는 두 셀은 계산 및 통신 작업 중복에 관여합니다.

      • 자세한 내용은 Dualpipe Github Repository 를 방문하십시오 <: :> eplb : Expert-Parallel Load Balancer eplb 또는 Expert-Parallel Load Balancer는 V3/R1 교육에서로드 밸런싱을 최적화합니다. 그것은 여러 처리 장치에 걸쳐 워크로드를 효율적으로 배포하여 전반적인 성능을 향상시킵니다.
      .
    • 키 기능
    • <:> 전문가 병렬 처리 : 전문가 모델을 활용하여 부하의 균형을 효과적으로 균형을 잡아 각 처리 장치가 최대한 활용되도록합니다. 동적로드 밸런싱 : 훈련 중에 다양한 워크로드에 적응하여 최적의 성능을 유지하기 위해 실시간 조정이 가능합니다.

    기술 세부 사항 eplb (효율적인 파이프 라인 부하 분포)는 유휴 간격을 줄이고 처리량을 향상시키기 위해 액세스 가능한 리소스에 작업을 신중하게 할당하는 것을 목표로합니다. 이 방법론은 다양한 모델이나 작업이 뚜렷한 수준의 계산 능력을 필요로하는 맥락에서 중요성이 높아집니다. 로드 밸런싱 알고리즘은 다양한 상황에 맞는 두 가지 고유 한 정책을 사용합니다. 계층 적 부하 밸런싱 계층 적 부하 밸런싱 정책은 서버 노드 수를 전문가 그룹 수로 고르게 나누면 활성화됩니다. 이 전략은 균형 잡힌 하중 분포를 촉진하는 방식으로 전문가 그룹을 노드에 처음 구성하여 그룹 제한 전문가 라우팅을 활용합니다. 그 후, 부하 평형을 유지하기 위해 각 노드 내에서 전문가 복제가 발생합니다. 궁극적으로, 이러한 복제 된 전문가들은 개별 GPU에 할당되어 다른 GPU에서 부하 균형을 달성합니다. 계층 적 부하 밸런싱 정책은 더 작은 전문가-평행 크기를 다룰 때 프리 플링 단계에 특히 적합합니다. 글로벌로드 밸런싱 반대로, 서버 노드의 카운트가 전문가 그룹을 나누지 않으면 글로벌로드 밸런싱 정책이 구현됩니다. 이 접근법은 전문가 그룹 내에서 그룹화에 관계없이 전문가의 글로벌 복제를 포함합니다. 복제 후 전문가들은 개별 GPU에 균등하게 분배되어 GPU에 따라 부하 균형이 유지되도록합니다. 전 세계로드 밸런싱 정책은 더 큰 전문가-평행 크기를 처리 할 때 디코딩 단계에서 적용됩니다. 예제 코드 :

    출력 :

    시각적 표현은 전문가 (MOE)의 듀얼 계층 구성을 보여줍니다. 각 계층은 12 개의 전문 전문가로 구성됩니다. 모델의 견고성을 높이고 백업 메커니즘을 만들기 위해 각 계층에 추가 4 명의 전문가를 소개합니다. 이 수정으로 인해 백업 역할을하는 계층 당 총 16 명의 전문가가 누적됩니다. 이 시스템은 각 노드에 4 개의 GPU를 포함하는 2 개의 계산 노드에 걸쳐 이러한 전문가를 복제하고 배포합니다. 그것은 계층 적 부하 밸런싱 정책을 적용하고 계획에 따라 전문가의 전략적 복제 및 할당을 보여줍니다. . 자세한 구현 지침은 eplb github 저장소를 참조하십시오. <:> 프로파일 링 데이터 : 계산 통신 중첩 분석

    v3/r1의 계산 통신 중첩을 효과적으로 분석하기 위해 프로파일 링 데이터는 필수 통찰력을 제공합니다. 성능의 병목 현상과 훈련 프로세스의 최적화는이 데이터를 사용하여 이해할 수 있습니다.
    import torch
    
    import eplb
    
    weight = torch.tensor([[ 90, 132,  40,  61, 104, 165,  39,   4,  73,  56, 183,  86],
    
                           [ 20, 107, 104,  64,  19, 197, 187, 157, 172,  86,  16,  27]])
    
    num_replicas = 16
    
    num_groups = 4
    
    num_nodes = 2
    
    num_gpus = 8
    
    phy2log, log2phy, logcnt = eplb.rebalance_experts(weight, num_replicas, num_groups, num_nodes, num_gpus)
    
    print(phy2log)
    로그인 후 복사
    키 기능

    포괄적 인 분석 :이 접근법은 계산 및 통신 단계에 대한 광범위한 평가를 제공하여 시스템 성능 지표에 대한 깊은 이해를 촉진합니다. 성능 통찰력 : 교육 효율성 향상을위한 기회를 찾아 내고, 개발자가 최적화 노력을 안내하기 위해 중요한 정보를 장비합니다. 훈련 프로파일 링 데이터

    훈련 프로파일 데이터는 듀얼 파이프 내에서 개별 전방 및 후진 청크를 겹치는 전략을 보여줍니다. 각 청크에는 4 층의 전문가 (MOE)가 포함되어 있습니다. 병렬 구성은 DeepSeek-v3 전 사전 조정에 사용 된 설정, 특히 EP64 (Epoch 64) 및 TP1 (1 토큰이있는 시간 패딩) 구성, 시퀀스 길이는 4K 인 설정과 일치합니다. 간단하게 유지하기 위해 프로파일 링 중 PP (파이프 라인 병렬 처리) 커뮤니케이션을 제외합니다. 자세한 내용과 프로파일 링 데이터에 액세스하려면 프로파일 링 데이터 Github 리포지토리를 방문하십시오. 실제 응용 프로그램 Dualpipe 및 EPLB의 실제 적용은 자연어 처리, 컴퓨터 비전 및 강화 학습과 같은 다양한 분야에서 고무적인 결과를 보여주었습니다. 훈련 과정을 개선함으로써 이러한 방법론은 신속한 모델 수렴과 정밀도를 높이고 연구원과 실무자 모두에게 없어서는 안될 도구임을 입증합니다.

    . 미래 방향 딥 러닝 분야가 진행됨에 따라보다 효율적인 훈련 방법론에 대한 수요가 증가 할 것입니다. 향후 조사는 두 가지의 장점을 합병하는 하이브리드 모델을 조사함으로써 듀얼 파이프 및 EPLB의 효과를 증폭시키는 데 집중할 수 있습니다. 또한, 양자 컴퓨팅을 포함한 최첨단 기술과 이러한 전략을 통합하면 최적화를위한 새로운 경로를 포장 할 수 있습니다.

    결론 듀얼 파이프 및 EPLB를 통한 병렬주의 전략의 진보는 딥 러닝 교육 절차를 개선하는 데 상당한 진전이 있습니다. 이러한 알고리즘을 활용함으로써 연구원과 실무자 모두 우수한 자원 활용과 훈련 기간을 가속화하여보다 효율적인 모델 생성으로 끝날 수 있습니다. 프로파일 링 데이터의 동화는 이러한 프로세스를 교정 할 수있는 능력을 증가시켜 딥 러닝의 빠른 발전 궤적이 지속되도록 보장합니다.

    .

위 내용은 DeepSeek가 발표 한 최적화 된 병렬 처리 전략의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿