<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=145304570664993&amp;ev=PageView&amp;noscript=1">
Poplar SDK 2.5

May 23, 2022 \ Poplar, Software, Developer

Poplar SDK 2.5 사용 가능

작성자

Laurence Herbert

그래프코어 Poplar SDK의 최신 버전이 출시되어 다양한 기능 및 성능 개선 사항을 제공합니다. 최신 3세대 Bow Pod 시스템과 이전 세대를 모두 지원하는 Poplar SDK는 고객이 IPU에서 고성능 애플리케이션을 혁신하고 개발할 수 있도록 힘을 실어 줍니다.

Poplar SDK 2.5는 그래프코어 지원 포털 및 Docker Hub에서 다운로드할 수 있습니다. Docker Hub에서는 사용하기 쉽고 편리하며 확장을 거듭하고 있는 최신 Poplar 컨테이너도 찾을 수 있습니다.

또한 NLP, 비전, 음성, GNN 등 여러 응용 분야 도메인에 걸쳐 성장하고 있는 Model Garden에 새로운 예제를 추가하여, 지속적으로 증가하는 지원 범위와 역량을 입증하고 있습니다.

POPLAR SDK 2.5 하이라이트

Selected new features are presented below, while a full list of updates can be found in the accompanying release notes.

아래에 새로운 기능 중 일부가 나와 있으며 전체 업데이트 목록은 함께 제공되는 릴리스 노트에서 확인할 수 있습니다.

TensorFlow 2 개선 사항

이번 릴리스에서는 오픈 소스 버전의 TensorFlow 2가 버전 2.5로 업데이트되었습니다. Keras Model 하위 클래스를 사용할 수 있도록 설정하여 Keras 지원을 확장하고, Keras 모델을 위한 TensorFlow의 시각화 툴킷인 TensorBoard와의 통합을 개선했습니다. IPU와 TensorBoard를 사용하는 방법에 관한 새로운 튜토리얼은 GitHub에서 확인할 수 있습니다.

직렬화된 컴파일

Poplar SDK 2.5에서 기본적으로 사용할 수 있는 호스트 메모리 최적화 외에도, 일부 모델의 경우 IPU의 하위 집합에 대해 모델을 한 번에 컴파일하는 새로운 옵션을 사용하여 컴파일하는 도중에 호스트 메모리 사용량을 줄일 수 있습니다. 이 실험적 기능을 통해 사용자는 리소스가 제한된 시스템에서 대형 모델을 컴파일할 수 있습니다. Poplar SDK 2.6에 추가적인 개선 사항이 적용될 예정입니다.

자동 손실 스케일링

이 릴리스에는 반정밀도로 모델을 학습시키기 위한 자동 손실 스케일링이라는 실험적인 기능이 포함되어 있습니다. 이 기능을 사용하면 학습 중에 그래디언트 통계를 기반으로 손실 스케일링 계수를 조정하여, 그래디언트 표현을 위한 IEEE 754 16비트 플로트 형식의 제한된 동적 범위를 처리할 수 있습니다. PyTorch 및 PopART로 작성된 모델에 사용할 수 있으며 사용자가 적절한 손실 스케일링 계수를 수동으로 찾을 필요가 없습니다.

개선된 연산자 범위 및 최적화

그래프코어는 지원되는 PyTorch 연산자의 수를 지속적으로 늘려 모델 지원을 더욱 확대하고 있습니다. TensorFlow의 루프 기반 모델(예: RNN)은 최적화를 통해 컴파일 시간, 메모리 사용량, 런타임 성능을 개선하는 이점을 제공합니다. 또한 Poplar SDK를 통해 다른 많은 최적화 조치가 이루어졌습니다.

모니터링 도구 및 라이브러리

Poplar SDK에는 IPU 및 라이브러리를 모니터링하기 위한 종합적인 도구가 포함되어 있어 고객이 이러한 기능을 자체 시스템에 통합할 수 있습니다. 이 릴리스에서는 사용자가 대규모 배포에서 IPU 가용성과 상태를 더 잘 파악할 수 있도록 다중 사용자/다중 호스트 기능이 개선되었습니다.

Poplar Triton Backend

이 릴리스에는 Triton Inference Server를 사용하여 IPU에서 실행할 모델을 위한 프리뷰 지원이 추가되어 사용자가 추론 모델을 보다 쉽게 배포할 수 있습니다. IPU용 PopART 및 TensorFlow를 사용하여 작성된 모델은 Poplar Triton Backend에서 지원하는 PopEF(Poplar Exchange Format) 파일로 컴파일 및 저장할 수 있습니다. 자세한 내용은 새로운 Poplar Triton Backend 사용자 가이드를 참조하세요.

Ubuntu 20.04

Poplar SDK 2.5에는 Ubuntu 20.04 운영 체제에 대한 완전한 지원이 포함됩니다(이전에는 프리뷰로 지원되었음).

새 모델 예제

그래프코어는 사용자가 IPU에 최적화된 광범위한 모델을 최대한 쉽게 배포할 수 있도록 지원하기 위해 노력하고 있습니다. 그리고 Model Garden 및 관련 GitHub 리포지토리를 지속적으로 업데이트합니다.

Poplar SDK 2.5 릴리스에서는 다음과 같은 새로운 예제를 사용할 수 있습니다.

비전

  • ViT – 기존 미세 조정 예제에 추가된 사전 학습(PyTorch)
  • DINO(PyTorch)
  • EfficientDet - 추론(TensorFlow 2)
  • Neural Image Fields(TensorFlow 2)
  • Swin Transformer - 사전 학습(PyTorch)
  • ViT(Hugging Face Optimum, 미세 조정)
  • ConvNext(Hugging Face Optimum)

NLP

  • PackedBERT(PyTorch, PopART)
  • BERT-Large(TensorFlow 2)
  • GPT2-S/XL - 추론(PyTorch)
  • GPT2-M/L - 학습(PyTorch)
  • BERT-Base/Large(Hugging Face Optimum, 사전 학습 및 미세 조정)
  • RoBERTa-Base/Large(Hugging Face Optimum, 미세 조정)
  • DeBERTa-Base(Hugging Face Optimum, 미세 조정)
  • LXMERT(Hugging Face Optimum, 미세 조정)
  • GPT2-S/M(Hugging Face Optimum, 미세 조정)
  • T5-Small(Hugging Face Optimum, 미세 조정)
  • BART-Base(Hugging Face Optimum, 미세 조정)

음성

  • FastSpeech2 - 추론(TensorFlow 2)
  • Conformer-Large(PyTorch)
  • Fastpitch(PyTorch)
  • HUBERT(Hugging Face Optimum, 미세 조정)
  • Wave2Vec2(Hugging Face Optimum)

GNN

  • Cluster GCN(TensorFlow 2)

시뮬레이션용 AI

  • DeepDriveMD(TensorFlow 2)

IPU 프로그래머 가이드

IPU 프로그래머 가이드는 출시 이후 개발자들이 그래프코어 시스템과 새로운 여정을 시작하는 데 도움이 되는 필수적이고 인기 있는 리소스로 자리잡았습니다. 이 리소스에서는 사용자에게 일반적인 하드웨어 및 소프트웨어 개요부터 IPU에서의 프로그램 컴파일 및 실행까지 다양한 정보를 안내합니다.

새로운 버전의 IPU 프로그래머 가이드에서는 복제, 재연산, 모델 병렬 처리, 파이프라이닝과 같은 일반적인 알고리즘 기법에 대한 새로운 섹션을 포함하여 광범위한 업데이트 및 추가 기능을 제공합니다.

그래프코어의 개발자 포털에서 IPU 프로그래밍 관련 최신 문서, 튜토리얼, 코드 예시, 웨비나, 동영상, 연구 논문 및 기타 리소스에 액세스하세요.

 

게시물 더 보기