論文の概要: TorchProbe: Fuzzing Dynamic Deep Learning Compilers
- arxiv url: http://arxiv.org/abs/2310.20078v1
- Date: Mon, 30 Oct 2023 23:20:47 GMT
- ステータス: 処理完了
- システム内更新日: 2023-11-01 17:13:00.880756
- Title: TorchProbe: Fuzzing Dynamic Deep Learning Compilers
- Title(参考訳): TorchProbe: 動的ディープラーニングコンパイラのファジング
- Authors: Qidong Su, Chuqin Geng, Gennady Pekhimenko, Xujie Si
- Abstract要約: PyTorch 2.0はPythonで任意のディープラーニングプログラムのコンパイルをサポートする。
動的特徴を含むテストケースを生成するためのコード変換を提案する。
我々は、PyTorchコンパイラとその基盤となるテンソルコンパイラTritonの20の既知のバグを特定した。
- 参考スコア(独自算出の注目度): 9.324205843411352
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Static and dynamic computational graphs represent two distinct approaches to
constructing deep learning frameworks. The former prioritizes compiler-based
optimizations, while the latter focuses on programmability and
user-friendliness. The recent release of PyTorch 2.0, which supports compiling
arbitrary deep learning programs in Python, signifies a new direction in the
evolution of deep learning infrastructure to incorporate compiler techniques in
a more dynamic manner and support more dynamic language features like dynamic
control flows and closures. Given PyTorch's seamless integration with Python,
its compiler aims to support arbitrary deep learning code written in Python.
However, the inherent dynamism of Python poses challenges to the completeness
and robustness of the compiler. While recent research has introduced fuzzing to
test deep learning compilers, there is still a lack of comprehensive analysis
on how to test dynamic features. To address this issue, we propose several code
transformations to generate test cases involving dynamic features. These
transformations preserve the program's semantics, ensuring that any discrepancy
between the transformed and original programs indicates the presence of a bug.
Through our approach, we have successfully identified twenty previously unknown
bugs in the PyTorch compiler and its underlying tensor compiler Triton.
- Abstract(参考訳): 静的および動的計算グラフは、ディープラーニングフレームワークを構築するための2つの異なるアプローチを表している。
前者はコンパイラベースの最適化を優先し、後者はプログラマビリティとユーザフレンドリに重点を置いている。
Pythonでの任意のディープラーニングプログラムのコンパイルをサポートするPyTorch 2.0の最近のリリースは、ディープラーニングインフラストラクチャの進化における新たな方向性を示し、コンパイラ技術をよりダイナミックな方法で取り入れ、動的制御フローやクロージャのようなよりダイナミックな言語機能をサポートする。
Pythonとのシームレスな統合を考えると、Pythonで書かれた任意のディープラーニングコードをサポートすることを目指している。
しかし、Pythonの固有のダイナミズムは、コンパイラの完全性と堅牢性に課題をもたらす。
最近の研究では、ディープラーニングコンパイラのテストにファジングを導入しているが、動的機能のテスト方法に関する包括的な分析はいまだに存在しない。
この問題に対処するため,動的機能を含むテストケースを生成するコード変換を提案する。
これらの変換はプログラムの意味を保ち、変換されたプログラムと元のプログラムの相違がバグの存在を示す。
このアプローチを通じて、PyTorchコンパイラとその基盤となるテンソルコンパイラTritonの20の既知のバグを特定した。
関連論文リスト
- PoTo: A Hybrid Andersen's Points-to Analysis for Python [3.6793233203143743]
PoToはAndersenスタイルのコンテキスト非感性とフロー非感性を備えたPythonのポイントツー分析である。
PoTo+は、ポイントツー分析に基づいて構築されたPythonの静的型推論である。
論文 参考訳(メタデータ) (2024-09-05T21:26:25Z) - depyf: Open the Opaque Box of PyTorch Compiler for Machine Learning Researchers [92.13613958373628]
textttdepyfは、PyTorchコンパイラの内部動作を復号化するためのツールである。
textttdepyfは、PyTorchが生成したバイトコードを等価なソースコードに逆コンパイルする。
論文 参考訳(メタデータ) (2024-03-14T16:17:14Z) - pyvene: A Library for Understanding and Improving PyTorch Models via
Interventions [79.72930339711478]
$textbfpyvene$は、さまざまなPyTorchモジュールに対するカスタマイズ可能な介入をサポートするオープンソースライブラリである。
私たちは、$textbfpyvene$が、ニューラルモデルへの介入を実行し、他のモデルとインターバルされたモデルを共有するための統一されたフレームワークを提供する方法を示します。
論文 参考訳(メタデータ) (2024-03-12T16:46:54Z) - DyPyBench: A Benchmark of Executable Python Software [18.129031749321058]
我々は、Pythonプロジェクトの最初のベンチマークであるDyPyBenchを紹介します。
ベンチマークには、さまざまなアプリケーションドメインから50の人気のあるオープンソースプロジェクトが含まれており、合計681万行のPythonコードと30万のテストケースが含まれている。
我々は、DyPyBenchが他の動的解析の基礎を提供し、Pythonコードの実行時の振る舞いを研究することを想定する。
論文 参考訳(メタデータ) (2024-03-01T13:53:15Z) - Dictionary Learning Improves Patch-Free Circuit Discovery in Mechanistic
Interpretability: A Case Study on Othello-GPT [59.245414547751636]
本稿では,アクティベーションパッチに代わる回路発見フレームワークを提案する。
当社のフレームワークはアウト・オブ・ディストリビューション(out-of-distribution)に悩まされており、複雑さの観点からより効率的であることが証明されています。
我々はOthelloという名前の合成タスクで訓練された小さなトランスフォーマーを掘り下げ、その内部に人間に理解可能な微細な回路がいくつかある。
論文 参考訳(メタデータ) (2024-02-19T15:04:53Z) - Outline, Then Details: Syntactically Guided Coarse-To-Fine Code
Generation [61.50286000143233]
ChainCoderは、Pythonコードを段階的に生成するプログラム合成言語モデルである。
自然言語記述と構文的に整合したI/Oデータサンプルを共同で符号化するために、カスタマイズされたトランスフォーマーアーキテクチャを利用する。
論文 参考訳(メタデータ) (2023-04-28T01:47:09Z) - Serenity: Library Based Python Code Analysis for Code Completion and
Automated Machine Learning [8.362734311902278]
いくつかのタスクで十分であることが判明したPythonの静的解析のためのフレームワークを提案する。
Serenityは、(a)言語翻訳のコアにおける動的ディスパッチへの依存と(b)ライブラリの極端な抽象化という、2つの基本的なメカニズムを利用する。
本稿では、コード補完と自動機械学習という2つのアプリケーションで、Serenityの分析の効率性と有用性を示す。
論文 参考訳(メタデータ) (2023-01-05T02:09:08Z) - ReACC: A Retrieval-Augmented Code Completion Framework [53.49707123661763]
本稿では,語彙のコピーと類似したセマンティクスを持つコード参照の両方を検索により活用する検索拡張コード補完フレームワークを提案する。
我々は,Python および Java プログラミング言語のコード補完タスクにおけるアプローチを評価し,CodeXGLUE ベンチマークで最先端のパフォーマンスを実現する。
論文 参考訳(メタデータ) (2022-03-15T08:25:08Z) - torch.fx: Practical Program Capture and Transformation for Deep Learning
in Python [0.0]
深層学習に使用されるプログラムキャプチャと変換の異なる設計について検討する。
長い尾ではなく典型的なディープラーニングのユースケースのために設計することで、プログラムのキャプチャと変換のためのシンプルなフレームワークを構築することができる。
我々は、Pythonで完全に書かれ、ML実践者による高い開発者の生産性のために最適化されたPyTorch用のプログラムキャプチャと変換ライブラリである torch.fx にこの原則を適用した。
論文 参考訳(メタデータ) (2021-12-15T19:16:29Z) - OPFython: A Python-Inspired Optimum-Path Forest Classifier [68.8204255655161]
本稿では,OPFythonと表記されるPythonベースのOptimum-Path Forestフレームワークを提案する。
OPFythonはPythonベースのライブラリなので、C言語よりもフレンドリーな環境とプロトタイピングの作業スペースを提供する。
論文 参考訳(メタデータ) (2020-01-28T15:46:19Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。