推論時torch.tensor(sourceTensor)ではなくて、sourceTensor.clone().detach()を使おう

推論時torch.tensor(sourceTensor)ではなくて、sourceTensor.clone().detach()を使おう
Photo by Ashkan Forouzani / Unsplash

PyTorchのテンソル操作最適化: 警告メッセージの理解と解決

こんにちは!

Qualiteg プロダクト開発部です。

PyTorch 1.13にて、次のような警告メッセージに遭遇しました

UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).

この記事では、この警告の意味を解説し、修正方針についてかきたいとおもいます。

torch.tensor() よりも .clone().detach() のほうがおすすめなのか

それは、PyTorchがテンソルと自動微分(オートグラッド)をどのように扱うかに関係があります。

torch.tensor() をつかうと「勾配計算=自動微分どうするねん」っていう意思表示がハッキリしないんです。

一方clone().detach()は「勾配配計算しないよ」をあらわし、clone().detach().requires_grad_(True)は「勾配計算有効」をあらわすので、コードから意図がよみとれる&明示的に指定できる、のがポイントです。

clone().detach()では、元のテンソルとメモリを共有せず、計算グラフから切り離された新しいテンソルが作成されます。これにより、特に勾配や誤差逆伝播を扱う際に、予期せぬ動作を防ぐことができるというわけです。

推論で使うときはどう書けばいい?

結論からいうと、推論時には sourceTensor.clone().detach() をつかいましょう。

その理由は以下のとおりです

  1. 計算効率:
    推論時には通常、勾配計算は不要です。detach() を使うことで、テンソルを計算グラフから切り離し、不要な勾配計算を防ぎます。これにより、メモリ使用量が減少し、計算速度が向上します。
  2. メモリ管理
    clone() は新しいメモリ領域にデータをコピーします。これにより、元のテンソルに影響を与えることなく、安全に操作を行えます。
  3. 意図しない変更の防止
    detach() を使用することで、誤って勾配計算を行ってしまうリスクを減らせます。これは特に大規模なモデルや複雑なアーキテクチャで重要です。
  4. モデルの固定
    推論時には当然モデルのパラメータを更新したくないのでdetach() を使うことで、誤ってモデルが更新されることを防げます。

チェインしてるメソッドの詳細説明

  1. clone() メソッド:
    • 新しいテンソルを作成し、元のテンソルのデータをコピーします。
    • これにより、元のデータに影響を与えることなく安全に操作できます。
  2. detach() メソッド:
    • テンソルを現在の計算グラフから切り離します。
    • 勾配計算が不要な場合(例:推論時)に特に有用です。

まとめ

  • sourceTensor.tensor() でコピーするのはコンテクストがあいまいなので使わないようにしましょう。
  • 推論時は clone().detach() を使用します。勾配計算が不要なため、メモリ使用量を減らし、計算速度を向上させます。
  • 学習時は 勾配計算が必要な場合は、clone().detach().requires_grad_(True) を使用します。これにより、新しいテンソルで勾配計算が可能になります。

Read more

ついに一般公開、Claude Mythos5(ミュトス)/  Fable 5(フェイブル) を実務視点で読み解く

ついに一般公開、Claude Mythos5(ミュトス)/ Fable 5(フェイブル) を実務視点で読み解く

こんにちは! Qualitegプロダクト開発部です。 2026年6月9日、Anthropicから Claude Fable 5(フェイブル5)と Claude Mythos 5(ミュトス5)が発表されました。 この記事では、 Fable 5 とは何か、Mythos 5 と何が違うのか、 Claude Code やAIエージェントを実務で使う立場から見て何が変わるのか を整理します。当社ブログを読んでくださっている方は、4月の「強すぎて出せないモデル "Mythos"」や「Mythosレベルのオープンモデルはいつ出るのか」でも触れた、あの Mythosクラスの一般公開版がついに来た、という話でもあります。 この記事でわかること * Fable 5 と Mythos 5 は「同じ基盤モデルだが、安全装置の有無が違う」こと * 高リスク領域では応答が Opus 4.

By Qualiteg コンサルティング, Qualiteg プロダクト開発部, Qualiteg 研究部
Claude Codeで正規の運用作業が「Usage Policy違反」になる理由 ── リアルタイム・サイバーセーフガードの誤検知と対処法

Claude Codeで正規の運用作業が「Usage Policy違反」になる理由 ── リアルタイム・サイバーセーフガードの誤検知と対処法

こんにちは! 今日は、Claude Code を使っていると突然出てくる「Usage Policy違反」エラー いわゆる リアルタイム・サイバーセーフガードの誤検知(false positive) について、その傾向と対処法を詳しく解説します! 自社サーバへのデプロイ作業中や、ごく普通のインフラ運用の最中に、こんなメッセージが出て手が止まった経験はありませんか? API Error: Claude Code is unable to respond to this request, which appears to violate our Usage Policy. This request triggered cyber-related safeguards. やっていたのは、自分のサーバー への SSH デプロイと、自社リポジトリへのコミット指示だけ。 攻撃的な操作は何ひとつ含まれていないはずなのに、ブロックされてしまう… そんな状況に心当たりのある方は、

By Qualiteg プロダクト開発部
個人情報検出の精度を、どう正しく語るか ― Recall、信頼区間、代表性から考える評価設計

個人情報検出の精度を、どう正しく語るか ― Recall、信頼区間、代表性から考える評価設計

こんにちは。Qualiteg研究部です。 私たちは、個人情報(PII)や機密情報、要配慮個人情報を含むセンシティブな情報を検出・マスキングする技術(https://pii-fi.com)の開発に取り組んでいます。 その中で日々向き合っているのが、 「精度の数字を、どうすれば正直に、正しく語れるのか」 という問題です。 たとえば、検出器の Recall(再現率)が 0.95 だったとします。 これは高い数字に見えます。しかし、その数字はどの種類の文書で測ったものなのか。正解データはどう作ったのか。サンプル数は十分なのか。別の業務文書にも同じ数字を当てはめてよいのか。 精度の数字は、単独ではほとんど意味を持ちません。 「何を、どの条件で、どう数えたか」とセットになって、はじめて実務で使える数字になります。 本記事では、私たちが PII 検出の精度評価に取り組む中で得た、精度を誠実に語るための考え方を紹介します。アルゴリズムの中身ではなく、評価のしかたに焦点を当てます。 1. はじめに:「Recall 0.95

By Qualiteg 研究部
一文の依頼で、調査から資料作成まで。AIエージェント「Bestllam」のデモ動画を公開しました

一文の依頼で、調査から資料作成まで。AIエージェント「Bestllam」のデモ動画を公開しました

こんにちは! 本日は当社の統合AIプラットフォーム "Bestllam®" の AIエージェント機能のデモをご紹介いたします! 「指示は出せても、AIが本当に仕事を仕上げてくれるのか」 生成AIを業務に取り入れる企業が増えています。 しかし現場からは、こんな本音も聞こえてきます。 「使い方を覚えるより、自分でやったほうが早い」 「指示を細かく出し直しているうちに、結局時間がかかる」 「便利なのは分かるが、機密情報を入力していいのか不安」 AIを"個人の便利ツール"の域から、"部門の成果"へと引き上げる。 これが当社の法人向け統合AIプラットフォーム Bestllam(ベストラム) が掲げるテーマです。 今回、そのAIエージェント機能を実際の操作画面とともに紹介する動画を公開しました。 たった一文の依頼が、7枚のレポートになるまで 動画のデモはシンプルです。エージェントに、こう入力します。 「先月の売上を年代別に分析し、資料にまとめてください」 これだけです。すると、エージェントはまず自分でTODOリストを組み立て、何をどの順番で進めるかという段取りを示します

By Qualiteg ビジネス開発本部 | マーケティング部