Towards Memory-Efficient Training for Extremely Large Output Spaces — Learning with 500k Labels on a Single Commodity GPU

要約

大規模な出力スペース (最大数百万のラベル) を伴う分類問題では、最後の層で膨大な量のメモリが必要になる場合があります。
スパース接続を使用すると、メモリ要件は大幅に削減されますが、以下に示すように、モデルの予測パフォーマンスが大幅に低下する可能性があります。
幸いなことに、中間サイズの最後から 2 番目の層を導入することでこれを軽減できることがわかりました。
さらに、各出力ニューロンがまったく同じ数の入力接続を持つという意味で、疎層の接続性を均一に制約できることを示します。
これにより、GPU ハードウェア上でスパース行列の乗算と接続の再分配を効率的に実装できるようになります。
カスタム CUDA 実装を介して、提案されたアプローチが、わずか 4 GB のメモリを備えた単一の汎用 GPU 上で 670,000 のラベルを持つデータセットに拡張できることを示します。

要約(オリジナル)

In classification problems with large output spaces (up to millions of labels), the last layer can require an enormous amount of memory. Using sparse connectivity would drastically reduce the memory requirements, but as we show below, it can result in much diminished predictive performance of the model. Fortunately, we found that this can be mitigated by introducing a penultimate layer of intermediate size. We further demonstrate that one can constrain the connectivity of the sparse layer to be uniform, in the sense that each output neuron will have the exact same number of incoming connections. This allows for efficient implementations of sparse matrix multiplication and connection redistribution on GPU hardware. Via a custom CUDA implementation, we show that the proposed approach can scale to datasets with 670,000 labels on a single commodity GPU with only 4GB memory.

arxiv情報

著者 Erik Schultheis,Rohit Babbar
発行日 2023-06-06 14:44:52+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.DC, cs.LG パーマリンク