그래프코어가 최신 포플러(Poplar) SDK 2.6 버전을 출시했습니다! 신규 버전은 그래프코어의 지원 포털과 도커 허브(Docker Hub)에서 다운로드 가능합니다.
최신 보우(Bow) Pod 시스템과 이전 세대를 모두 지원하는 포플러 SDK는 그래프코어 고객들이 IPU에서 고성능 애플리케이션을 혁신하고 개발하도록 지원합니다.
그래프코어 모델 가든 및 공개 예제 업데이트
그래프코어는 사용자가 IPU에 최적화된 광범위한 모델을 최대한 쉽게 배포할 수 있도록 돕는 것을 목표로 하고 있는데요. 이를 위해 그래프코어의 모델 가든(Model Garden)은 물론, 관련 GitHub 리포지토리를 지속적으로 업데이트하고 있습니다. 이에 따라, 여러 가지 새로운 모델과 공개 예제가 제공되고 있습니다.
- GPT-2-Large – 추론(PyTorch)
- GPT-2-Medium – 추론(PyTorch)
- CLIP – 학습(PyTorch)
- Conformer-Medium – 학습(PyTorch)
다양한 프레임워크와 플랫폼에 걸친 그래프코어 모델 가든 상의 여러 모델에 대한 벤치마크 성능 결과가 SDK 2.6 버전에 맞게 업데이트되었으며, 그래프코어 웹사이트의 성능 결과 페이지에 게시되었습니다.
포플러 SDK 2.6의 주요 특징과 새로운 기능
아래는 포플러 SDK 2.6의 주요 특징으로, 전체 업데이트 목록은 포플러 SDK 2.6 릴리스 노트에서 확인할 수 있습니다.
TensorFlow 2.6 지원 및 TensorFlow Serving 추가(프리뷰)
이번 릴리스에서는 오픈 소스 버전의 TensorFlow 2 코드베이스가 버전 2.5에서 버전 2.6으로 마이그레이션되었습니다.
또한 포플러 SDK 2.6에는 프로덕션 서비스를 위한 Poplar Triton 백엔드 대용의 IPU용 TensorFlow Serving의 프리뷰 릴리스가 포함되어 있습니다. 이를 통해 사용자는 사전 컴파일된 모델을 표준 SavedModel 형식으로 내보내고, TensorFlow Serving의 그래프코어 배포판을 사용하여 향후 추론을 위해 배포될 수 있습니다.
TensorFlow Serving 2 및 TensorFlow Serving 1의 사용자 가이드는 그래프코어 문서 포털에서 확인할 수 있습니다.
IPU TensorFlow Addons 오픈 소싱
IPU TensorFlow Addons는 TensorFlow의 그래프코어 포트를 위해 마련된 추가 기능 모음입니다. 여기에는 Keras용 레이어 및 옵티마이저와 기존 TensorFlow 레이어 및 옵티마이저가 포함됩니다.
이 패키지는 원래 포플러 SDK 2.4 릴리스에 추가되었으며 지금은 커뮤니티에 오픈 소싱되었습니다.
Keras: 새로운 별도 패키지
TensorFlow 2.6 릴리스는 pip를 사용하여 설치된 별도의 Keras 패키지를 제공합니다. TensorFlow 2.6의 그래프코어 배포판이 포함된 포플러 SDK 2.6 릴리스는 IPU별 확장 기능이 통합된 Keras의 그래프코어 배포판을 위한 새로운 시스템을 제공합니다. 이 새로운 Keras 시스템은 오픈 소스 형태로 제공됩니다.
TensorFlow 2의 업데이트된 설치 가이드는 Pod 시스템 시작하기 가이드 및 Graphcloud TensorFlow 2 빠른 시작 가이드에서 확인할 수 있습니다.
Keras 그래디언트 집계 선택 및 학습 안정성 향상
포플러 SDK 2.6 릴리스에는 그래디언트 축적 또는 파이프라이닝과 함께 Keras 모델을 사용할 때 그래디언트가 집계되는 방식을 제어하는 기능이 추가되었습니다. 이동 평균을 사용하면 float16 그래디언트를 사용할 때 학습 안정성을 향상시킬 수 있습니다.
Keras 모델을 사용하는 그래디언트 축적 및 파이프라이닝 관련 문서는 IPU TensorFlow 2 사용자 가이드에서 확인할 수 있습니다. GitHub에서 그래프코어의 TensorFlow 2 BERT 및 ResNet50 모델을 참조하세요.
PopXL
연산, 통신, 메모리를 최대한 활용하기 위한 명시적 최적화를 지원하는 프레임워크 라이브러리인 PopXL에도 몇 가지 새로운 기능, 버그 수정 및 개선 사항이 적용되었는데요, 자세한 내용은 포플러 SDK 2.6 릴리스 노트에서 확인할 수 있습니다.
PopXL 사용자 가이드가 상당 부분 업데이트되었으며 6가지 새로운 PopXL 튜토리얼(기본 개념, 맞춤형 옵티마이저, 데이터 병렬 처리, 파이프라이닝, 원격 변수, 단계적 실행)이 공개되었습니다.
그래프코어는 또한 추가 작업, 변환, 모듈 및 유틸리티를 포함하여 PopXL 프레임워크를 확장하는 새로운 공개 GitHub 리포지토리인 popxl-addons를 발표했습니다.
신규 및 업데이트 개발자 리소스
위에서 설명한 주요 특징, 기능, 모델 가든 및 공개 예제의 업데이트 외에도 포플러 SDK 버전 2.5 및 2.6 릴리스 사이에 다음의 개발자 리소스가 새롭게 추가되거나 업데이트되었습니다.
그래프코어의개발자 포털에서IPU프로그래밍관련최신문서, 튜토리얼, 코드예시, 웨비나, 동영상, 연구논문및기타리소스를확인하세요.