-
Notifications
You must be signed in to change notification settings - Fork 54
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
131 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,131 @@ | ||
--- | ||
layout: blog_detail | ||
title: "PyTorch 2.3 출시 공지" | ||
org_title: "PyTorch 2.3 Release Blog" | ||
category: ["pytorch.org", "translation"] | ||
org_link: https://pytorch.org/blog/pytorch2-3/ | ||
--- | ||
|
||
|
||
PyTorch® 2.3([릴리즈 노트](https://github.com/pytorch/pytorch/releases/tag/v2.3.0))의 출시를 발표하게 되어 기쁩니다! PyTorch 2.3은 torch.compile()에서 사용자 정의(user-defined) Triton 커널을 지원합니다. 사용자들은 성능 저하나 연산 그래프의 문제 없이 자체 트리톤 커널을 eager 모드에서 torch.compile()로 이전(migration)할 수 있습니다. Tensor Parallelism(텐서 병렬 처리)은 PyTorch 네이티브 함수를 사용하여 대규모 언어 모델(LLM, Large Language Models)을 학습하는 환경을 개선하였으며, 이는 1000억개 규모의 매개변수(100B parameter) 모델 학습을 통해 검증되었습니다. 또한, 반-구조적 희소성(Semi-structured sparsity)은 이를 Tensor 하위클래스(subclass)로 구현되어 밀집 행렬 곱셈(dense matrix multiplication) 대비 최대 1.6배의 속도 향상을 보입니다. | ||
> We are excited to announce the release of PyTorch® 2.3 ([release note](https://github.com/pytorch/pytorch/releases/tag/v2.3.0))! PyTorch 2.3 offers support for user-defined Triton kernels in torch.compile, allowing for users to migrate their own Triton kernels from eager without experiencing performance regressions or graph breaks. Tensor Parallelism improves the experience for training Large Language Models using native PyTorch functions, which has been validated on training runs for 100B parameter models. As well, semi-structured sparsity implements semi-structured sparsity as a Tensor subclass, with observed speedups of up to 1.6 over dense matrix multiplication. | ||
이번 릴리즈는 PyTorch 2.2 이후 426명의 기여자들로부터 3,393회의 커밋으로 구성되었습니다. 헌신적인 커뮤니티의 기여에 진심으로 감사드립니다. 언제나 그렇듯, 새로운 버전을 사용하시며 생기는 문제를 보고해주시면 PyTorch 2.3을 개선하는 데 도움이 됩니다. PyTorch 2 시리즈를 시작하는 방법에 대한 자세한 정보는 [시작하기](https://pytorch.kr/get-started/pytorch-2.0/) 페이지에서 확인할 수 있습니다. | ||
> This release is composed of 3393 commits and 426 contributors since PyTorch 2.2. We want to sincerely thank our dedicated community for your contributions. As always, we encourage you to try these out and report any issues as we improve 2.3. More information about how to get started with the PyTorch 2-series can be found at our [Getting Started](https://pytorch.org/get-started/pytorch-2.0/) page. | ||
|
||
<table class="table table-bordered"> | ||
<tr> | ||
<td><strong>Beta</strong></td> | ||
<td><strong>Prototype</strong></td> | ||
<td><strong>Performance Improvements</strong></td> | ||
</tr> | ||
<tr> | ||
<td> | ||
torch.compile에서 사용자 정의 Triton 커널 지원<br /> | ||
<blockquote>User-defined Triton kernels in torch.compile</blockquote> | ||
</td> | ||
<td> | ||
torch.export에 dynamic_shape을 지정할 수 있는 새로운 API 추가<br /> | ||
<blockquote>torch.export adds new API to specify dynamic_shapes</blockquote> | ||
</td> | ||
<td> | ||
Inductor CPU 백엔드에 가중치-전용-양자화 도입<br /> | ||
<blockquote>Weight-Only-Quantization introduced into Inductor CPU backend</blockquote> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td> | ||
PyTorch Distributed 내에서 텐서 병렬 처리<br /> | ||
<blockquote>Tensor parallelism within PyTorch Distributed</blockquote> | ||
</td> | ||
<td> | ||
비동기 체크포인트 생성<br /> | ||
<blockquote>Asynchronous checkpoint generation</blockquote> | ||
</td> | ||
<td></td> | ||
</tr> | ||
<tr> | ||
<td>반-구조적 희소성(Semi-structured sparsity) 지원<br /> | ||
<blockquote>Support for semi-structured sparsity</blockquote> | ||
</td> | ||
<td></td> | ||
<td></td> | ||
</tr> | ||
</table> | ||
|
||
* 공개된 기능 제출 목록은 [여기](https://docs.google.com/spreadsheets/d/1TzGkWuUMF1yTe88adz1dt2mzbIsZLd3PBasy588VWgk/edit?usp=sharing)에서 확인할 수 있습니다. | ||
> * To see a full list of public feature submissions click [here](https://docs.google.com/spreadsheets/d/1TzGkWuUMF1yTe88adz1dt2mzbIsZLd3PBasy588VWgk/edit?usp=sharing). | ||
|
||
## 베타 기능 / Beta Features | ||
|
||
### [베타] 사용자 정의 Triton 커널에 대한 torch.compile 지원 / [Beta] Support for User-defined Triton kernels in _torch.compile_ | ||
|
||
torch.compile을 사용하여 Triton 커널이 포함된 PyTorch 코드를 네이티브로 실행할 수 있습니다. 이를 통해 Triton 커널이 포함된 코드를 eager PyTorch에서 _torch.compile_ 로 성능 저하나 연산 그래프 문제 없이 이전할 수 있습니다. 네이티브 지원은 Torch Inductor가 사용자 정의 Triton 커널을 미리 컴파일(precomile)하여 Triton 커널 주변의 코드를 보다 효율적으로 구성함으로써 추가적인 최적화가 가능하게 합니다. | ||
> Allows for PyTorch code that contains triton kernels to be executed natively using torch.compile. This enables users to migrate code containing triton kernels from eager PyTorch to _torch.compile_ without running into performance regressions or graph breaks. Native support also creates an opportunity for Torch Inductor to precompile the user-defined Triton kernel as well as better organize code around the Triton kernel allowing for further optimizations. | ||
torch.compile에서 사용자 정의 Triton 커널을 활용하는 방법에 대한 자세한 내용은 [이 튜토리얼](https://pytorch.org/tutorials/recipes/torch_compile_user_defined_triton_kernel_tutorial.html)에서 확인하세요. | ||
> You can find more information about how to utilize user defined Triton kernels in torch.compile within [this tutorial](https://pytorch.org/tutorials/recipes/torch_compile_user_defined_triton_kernel_tutorial.html). | ||
|
||
### [베타] 텐서 병렬 처리를 통한 LLM 학습 효율 향상 / [Beta] Tensor Parallelism introduces more efficient ways to train LLMs | ||
|
||
텐서 병렬 처리(Tensor Parallel) API는 GPU와 호스트 간의 다양한 텐서 조작을 용이하게 하며, 2D 병렬 처리를 위해 FSDP와 통합되어 있습니다(장치 간 텐서 병렬 처리 + 호스트 간 데이터 병렬 처리). 또한, 고수준(higher-level)의 텐서 병렬 API 구성을 위해 저수준(low-level)의 API들을 제공합니다. 이 API는 1000억 개의 매개변수(100 billion parameters)를 가진 트랜스포머 모델의 학습을 지원함으로써 검증되었습니다. | ||
> The Tensor Parallel API facilitates various tensor manipulations across GPUs/hosts and integrates with FSDP for 2D Parallelism (Tensor parallelism across devices + Data Parallelism across hosts). It also offers a low-level API for constructing higher-level Tensor parallel APIs. This API has been validated to support the training of transformer models with over 100 billion parameters. | ||
이 API를 워크플로우 내에서 활용하는 방법에 대한 자세한 내용은 [이 튜토리얼](https://pytorch.org/tutorials/intermediate/TP_tutorial.html)에서 확인하실 수 있습니다. | ||
> You can find more information on how to utilize this within your workflows within [this tutorial](https://pytorch.org/tutorials/intermediate/TP_tutorial.html). | ||
|
||
### [베타] 반-구조적 희소성으로 가속화된 희소 추론 및 메모리 절약 / [Beta] Semi-structured sparsity provides users with a way to take advantage of accelerated sparse inference and memory savings | ||
|
||
반구조적 희소성을 Tensor의 하위클래스인 _torch.sparse.SparseSemiStructuredTensor_ 로 구현하였으며 밀집 행렬 곱셈(dense matrix multiplication) 대비 최대 1.6배의 속도 향상을 보였습니다. | ||
> _torch.sparse.SparseSemiStructuredTensor_ implements semi-structured sparsity as a Tensor subclass, which have observed speedups of up to 1.6 over dense matrix multiplication. | ||
특히, 다음과 같은 추가적인 기능을 제공합니다: | ||
|
||
* 양자화 조합 기능(Quantization composability)을 위한 지원(mixed dtype, dequant fusion) | ||
* 업데이트된 cuSPARSELt 및 CUTLASS 커널 | ||
* torch.compile 지원 | ||
|
||
> In particular it adds: | ||
> | ||
> * Additional support for quantization composability (mixed dtype, dequant fusion) | ||
> * Updated cuSPARSELt and CUTLASS kernels | ||
> * torch.compile support | ||
반-구조적 희소성 활용 시 이점에 대한 자세한 내용은 [여기](https://pytorch.org/tutorials/advanced/semi_structured_sparse.html)에서 확인하실 수 있습니다. | ||
> You can find more information on how to take advantage of semi-structured sparsity [here](https://pytorch.org/tutorials/advanced/semi_structured_sparse.html). | ||
|
||
## 프로토타입 기능 / Prototype Features | ||
|
||
|
||
### [프로토타입] _torch.export_에 _dynamic_shapes_ 을 지정하는 API 추가 / [PROTOTYPE] _torch.export_ adds new API to specify _dynamic_shapes_ | ||
|
||
_torch.export.Dim_ 을 사용하여 동적 형태(dynamic shapes)를 더 잘 표현할 수 있게 되었습니다. 이를 통해 개발자들은 동일하게 유지되어야 하는 서로 다른 입력 차원들 간의 범위(최소 및 최대 값)를 지정하여 재사용할 수 있게 되었습니다. | ||
> You can now use _torch.export.Dim_ to better represent dynamic shapes by enabling developers to specify ranges (min and max values) that can be reused across different input dimensions that are constrained to be equal. | ||
_torch.export.Dim_ 에 대한 자세한 내용 및 이를 사용하여 선형 산술 표현식(linear arithmetic expressions)과 같은 더 흥미로운 관계를 표현하는 방법에 대해 더 알아보려면 [여기](https://pytorch.org/tutorials/intermediate/torch_export_tutorial.html#constraints-dynamic-shapes)에서 튜토리얼을 확인하실 수 있습니다. | ||
> To learn more about _torch.export.Dim_ as well as how it can be used to express more interesting relationships (such as linear arithmetic expressions) check out the tutorial [here](https://pytorch.org/tutorials/intermediate/torch_export_tutorial.html#constraints-dynamic-shapes). | ||
|
||
### [프로토타입] 비동기 체크포인트 생성 / [PROTOTYPE] Asynchronous checkpoint generation | ||
|
||
비동기 체크포인트 생성 기능은 체크포인트가 생성되는 동안 학습 루프를 계속할 수 있도록 하여, 체크포인트 생성 비용의 대부분을 절감(offload)할 수 있습니다. | ||
> Asynchronous checkpoint generation allows users to continue their training loops while checkpoints are being generated, essentially offloading much of the checkpointing cost. | ||
이 [예제](https://github.com/pytorch/pytorch/blob/release/2.3/torch/distributed/checkpoint/examples/async_checkpointing_example.py)를 통해 이 기능을 워크플로우에서 활용하는 방법을 알아볼 수 있습니다. | ||
> You can find out how to utilize this within your own workflows with this [example](https://github.com/pytorch/pytorch/blob/release/2.3/torch/distributed/checkpoint/examples/async_checkpointing_example.py). | ||
|
||
## 성능 개선 / Performance Improvements | ||
|
||
### [프로토타입] Inductor CPU 백엔드에 가중치-전용-양자화 도입 / [PROTOTYPE] Weight-Only-Quantization introduced into Inductor CPU backend | ||
|
||
PyTorch 2.3에서는 torch inductor CPU 백엔드에서 LLM 추론 성능을 향상시켰습니다. [gpt-fast](https://github.com/pytorch-labs/gpt-fast) 프로젝트는 _torch.compile_ 을 사용하여 트랜스포머 텍스트 생성을 위해 간단하고 효율적인 PyTorch 네이티브 가속 기능을 지원합니다. 2.3 이전에는 CUDA 장치에서만 지원되었던 기능으로, int4 및 int8 가중치 전용 양자화 Linear에 대해 고도로 최적화된 커널을 제공함으로써 CPU 버전을 지원합니다. | ||
> PyTorch 2.3 enhances LLM inference performance on torch inductor CPU backend. The project [gpt-fast](https://github.com/pytorch-labs/gpt-fast) offers a simple and efficient PyTorch native acceleration for transformer text generation with _torch.compile_. Prior to 2.3 only CUDA devices were supported and this feature enables the CPU counterpart by providing highly optimized kernels for the int4 and int8 weight only quantization Linear. | ||
이 기능을 활용하는 방법에 대한 자세한 정보는 [gpt-fast README](https://github.com/pytorch-labs/gpt-fast#quantization)를 참고해주세요. | ||
> For more information / how to utilize this feature please refer to the [gpt-fast README](https://github.com/pytorch-labs/gpt-fast#quantization). |