Intel Gaudi 2 AI 가속기에서 텍스트 생성 파이프라인

Hugging Face는 Intel Gaudi 2 AI 가속기를 위해 설계된 맞춤형 텍스트 생성 파이프라인을 출시했으며, 개발자가 최소한의 코드로 Llama 2 모델(7b, 13b, 70b)을 실행할 수 있게 합니다. 이 파이프라인은 전처리와 후처리를 포함한 엔드투엔드 텍스트 생성을 처리함으로써 높은 수준의 추상화를 제공합니다.

파이프라인 고수준 기능

GaudiTextGenerationPipeline은 단일 또는 다중 프롬프트에서 텍스트를 생성하기 위한 유연한 인터페이스를 제공합니다. 이는 세 가지 주요 방법을 통해 다양한 워크플로에 통합되도록 설계되었습니다:

  • Standalone Scripts: Optimum Habana 저장소에 제공된 run_pipeline.py 스크립트를 사용합니다.
  • Custom Python Integration: 파이프라인 클래스를 직접 Python 스크립트에 임포트하여 프로그래밍 방식으로 제어합니다.
  • Framework Integration: 복잡한 LLM 오케스트레이션을 위해 파이프라인을 사용하여 LangChain 클래스를 초기화합니다.

기술 구현 및 요구 사항

하드웨어 및 소프트웨어 전제 조건

파이프라인을 사용하려면 사용자는 Meta와 Hugging Face를 통해 게이트된 Llama 2 모델에 접근할 수 있어야 하며, 다음 소프트웨어 환경이 필요합니다:

  • Optimum Habana: 버전 1.10.4.
  • DeepSpeed: 분산 추론에 필요합니다(예: Llama-2-70b). 버전은 SynapseAI 버전과 일치해야 합니다(예: SynapseAI 1.14.0에 대해 DeepSpeed 1.14.0).
  • Authentication: huggingface-cli login을 통해 게이트된 모델을 다운로드하려면 Hugging Face 액세스 토큰이 필요합니다.

실행 및 구성

파이프라인은 여러 성능 최적화 플래그와 생성 파라미터를 지원합니다:

  • Performance Optimizations: 사용자는 추론 효율성을 높이기 위해 --use_hpu_graphs--use_kv_cache를 활성화할 수 있습니다.
  • Generation Control: 파이프라인은 --do_sample, --temperature, --top_p와 같은 표준 샘플링 파라미터를 지원합니다.
  • Distributed Inference: Llama-2-70b와 같은 대형 모델의 경우, 파이프라인은 gaudi_spawn.py--use_deepspeed 플래그 및 지정된 --world_size(예: 8)를 사용하여 실행됩니다.

LangChain 호환성

텍스트 생성 파이프라인은 LangChain과 호환되어 LLM 백엔드로 사용할 수 있습니다. GaudiTextGenerationPipeline에서 use_with_langchain=True 생성자 인자를 설정하면, 파이프라인을 LangChain의 HuggingFacePipeline 클래스에 전달할 수 있습니다.

파이프라인 클래스는 LangChain 버전 0.0.191에 대해 특별히 검증되었으며 다른 버전에서는 작동하지 않을 수 있습니다.

모델 지원 요약

모델 배포 방법 핵심 요구 사항
Llama-2-7b 단일 HPU / run_pipeline.py Optimum Habana 1.10.4
Llama-2-13b 단일 HPU / run_pipeline.py Optimum Habana 1.10.4
Llama-2-70b 분산 / gaudi_spawn.py DeepSpeed + Optimum Habana 1.10.4

Sources