{ "

Adam Optimizer for Half Precision Training

\n": "

\u534a\u7cbe\u5ea6\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u7528\u306e Adam \u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u30fc

\n", "

Adam Optimizer for Half Precision Training

\n

We extend Adam Optimizer but use FP32 to store gradients and moments.

\n": "

\u534a\u7cbe\u5ea6\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u7528\u306e Adam \u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u30fc

\n

Adam Optimizer\u3092\u62e1\u5f35\u3057\u307e\u3057\u305f\u304c\u3001\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u3068\u30e2\u30fc\u30e1\u30f3\u30c8\u306e\u4fdd\u5b58\u306b\u306fFP32\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002

\n", "

Gradient Scaler with half precision gradients

\n

We extend PyTorch gradient scaler to use FP32 gradients.

\n": "

\u534a\u7cbe\u5ea6\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u306e\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30b9\u30b1\u30fc\u30e9\u30fc

\n

PyTorch \u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u30b9\u30b1\u30fc\u30e9\u30fc\u3092 FP32 \u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u3092\u4f7f\u7528\u3059\u308b\u3088\u3046\u306b\u62e1\u5f35\u3057\u307e\u3059\u3002

\n", "

Initialize a parameter state

\n\n

All the state tensors use FP32.

\n": "

\u30d1\u30e9\u30e1\u30fc\u30bf\u72b6\u614b\u3092\u521d\u671f\u5316

\n\n

\u3059\u3079\u3066\u306e\u30b9\u30c6\u30fc\u30c8\u30c6\u30f3\u30bd\u30eb\u306f FP32 \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002

\n", "

Take an update step for a given parameter tensor

\n\n": "

\u4e0e\u3048\u3089\u308c\u305f\u30d1\u30e9\u30e1\u30fc\u30bf\u30c6\u30f3\u30bd\u30eb\u306e\u66f4\u65b0\u30b9\u30c6\u30c3\u30d7\u3092\u5b9f\u884c\u3059\u308b

\n\n", "

\n": "

\n", "

Calculate weight decay

\n": "

\u4f53\u91cd\u6e1b\u5c11\u306e\u8a08\u7b97

\n", "

Call the Adam Optimizer initializer

\n": "

Adam \u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u30fc\u30a4\u30cb\u30b7\u30e3\u30e9\u30a4\u30b6\u30fc\u3092\u547c\u3073\u51fa\u3059

\n", "

Exponential moving average of gradients, _^_0_^_

\n": "

\u52fe\u914d\u306e\u6307\u6570\u79fb\u52d5\u5e73\u5747\u3001_^_0_^_

\n", "

Exponential moving average of squared gradient values, _^_0_^_

\n": "

\u4e8c\u4e57\u52fe\u914d\u5024\u306e\u6307\u6570\u79fb\u52d5\u5e73\u5747\u3001_^_0_^_

\n", "

Get _^_0_^_ and _^_1_^_

\n": "

_^_0_^_\u53d6\u5f97\u3057\u3066 _^_1_^_

\n", "

Get the FP32 gradients if available

\n": "

\u53ef\u80fd\u306a\u5834\u5408\u306f FP32 \u306e\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u3092\u53d6\u5f97

\n", "

Get the FP32 parameters

\n": "

FP32 \u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u53d6\u5f97

\n", "

If we are using the _^_0_^_ optimizer set _^_1_^_ to the FP32 gradients

\n": "

FP32 _^_0_^_ _^_1_^_ \u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u306b\u8a2d\u5b9a\u3055\u308c\u305f\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u30fc\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408

\n", "

Increment _^_0_^_ the number of optimizer steps

\n": "

_^_0_^_\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u30fc\u306e\u30b9\u30c6\u30c3\u30d7\u6570\u3092\u5897\u3084\u3059

\n", "

Loop through parameters

\n": "

\u30eb\u30fc\u30d7\u30b9\u30eb\u30fc\u30d1\u30e9\u30e1\u30fc\u30bf

\n", "

Maintain a FP32 copy of the parameters

\n": "

\u30d1\u30e9\u30e1\u30fc\u30bf\u306e FP32 \u30b3\u30d4\u30fc\u3092\u7ba1\u7406

\n", "

Not implemented for sparse tensors

\n": "

\u30b9\u30d1\u30b9\u30c6\u30f3\u30bd\u30eb\u306b\u306f\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093

\n", "

Otherwise, convert the gradients to FP32

\n": "

\u305d\u308c\u4ee5\u5916\u306e\u5834\u5408\u306f\u3001\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u3092 FP32 \u306b\u5909\u63db\u3057\u307e\u3059\u3002

\n", "

Otherwise, do not convert the gradients to FP32

\n": "

\u305d\u308c\u4ee5\u5916\u306e\u5834\u5408\u306f\u3001\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u3092 FP32 \u306b\u5909\u63db\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002

\n", "

Parameter to store 32 bit gradients. This get populated by the _^_0_^_ defined below.

\n": "

32 \u30d3\u30c3\u30c8\u306e\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u3092\u683c\u7d0d\u3059\u308b\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3002_^_0_^_\u3053\u308c\u306b\u306f\u4ee5\u4e0b\u306e\u5b9a\u7fa9\u304c\u5165\u529b\u3055\u308c\u307e\u3059

\u3002\n", "

Perform Adam update

\n": "

Adam \u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3092\u5b9f\u884c

\n", "

Set the parameters

\n": "

\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u8a2d\u5b9a

\n", "

Skip non-trainable parameters

\n": "

\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u4e0d\u53ef\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u3092\u30b9\u30ad\u30c3\u30d7

\n", "

This is the number of optimizer steps taken on the parameter, _^_0_^_

\n": "

\u3053\u308c\u306f\u3001\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306b\u5bfe\u3057\u3066\u5b9f\u884c\u3055\u308c\u305f\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u30fc\u30b9\u30c6\u30c3\u30d7\u306e\u6570\u3067\u3059\u3002_^_0_^_

\n", "

Unscale all the gradients

\n": "

\u3059\u3079\u3066\u306e\u30b0\u30e9\u30c7\u30fc\u30b7\u30e7\u30f3\u3092\u30b9\u30b1\u30fc\u30eb\u89e3\u9664

\n", "A simple PyTorch implementation/tutorial of Adam optimizer": "Adam \u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u30fc\u306e\u7c21\u5358\u306a PyTorch \u5b9f\u88c5/\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb", "Adam Optimizer for Half Precision Training": "\u534a\u7cbe\u5ea6\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u7528\u306e Adam \u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u30fc" }