【極めればこのテンソル操作】permute(1,0)

【極めればこのテンソル操作】permute(1,0)
Photo by ZENG YILI / Unsplash

本記事はPyTorch,NumPy でよくつかうテンソル操作を、頭でしっかりイメージできるようにするための機械学習エンジニア初心者向けシリーズです!

「厳密な正しさ」をもとめるリファレンス的なものではなく、現場でつかうソースコードに頻出するコードで覚えていきましょう。

今日は permute (1,0)

permute操作は、テンソルの次元の順序を変更するためによく使用されます。permuteメソッドの引数は、並び替えの順番を指定します。

permute(1,0)は2次元のテンソルにおいては、「転置」テンソルを作る役割を果たします。なぜそうなのか、順を追ってみていきましょう!

それでは早速以下のような 2×3 なテンソルを考えてみましょう

このテンソルは2次元なので、表で表現できますね。

このとき、このテンソルは PyTorchでは以下のように定義できます。

import torch

x = torch.tensor([[1, 2, 3],
                  [4, 5, 6]])

このテンソルの「形状」は、上でもかいたとおり 2 × 3 ですね。
コード内では、これを (2,3) や [2,3] のように表現します。

テンソルの形状は以下のように .shape で得ることができます

print(f"Shape: {x.shape}")

出力結果は以下のようになります

Shape: torch.Size([2, 3])

はい、ここで、 この [2,3] は各次元のサイズですよね。

この次元の位置を変更できるのが permute です

たとえば、今の例だと、

  • 0番目の位置にある次元(つまり行)の大きさが2
  • 1番目の位置にある次元(つまり列)の大きさが3となります

ある次元を「人」と呼ぶと、

permuteの文法は

となります。

そこで、

とは、以下を意味します。

permute(1,0) のサンプルコード

import torch
import numpy as np

x = torch.tensor([[1, 2, 3],
                  [4, 5, 6]])
print("Original tensor:")
print(x)
print(f"Shape: {x.shape}")

# permute: 次元の順序を変更
print("\n1. Permute")
print(f"Before: {x.shape}")
y = x.permute(1, 0)
print(f"After permute(1, 0): {y.shape}")
print(y)

結果は以下のように [3,2]のテンソルになりました。

Original tensor:
tensor([[1, 2, 3],
        [4, 5, 6]])
Shape: torch.Size([2, 3])

Permute
Before: torch.Size([2, 3])
After permute(1, 0): torch.Size([3, 2])
tensor([[1, 4],
        [2, 5],
        [3, 6]])

つまり、転置していますね。

このように、2次元のテンソルの場合は、permute(1,0)は「転置」ベクトル操作になります。

Read more

日本語対応 LLMランキング2026 ~ベンチマーク分析レポート~(3月6日版)

日本語対応 LLMランキング2026 ~ベンチマーク分析レポート~(3月6日版)

はじめに 本レポートは、Nejumi Leaderboard 4のベンチマークデータ(2026/3/6版)に基づいて、日本語対応LLMの性能を総合的に分析したものです。 前回は 2025/12/18 版の分析レポート を公開しましたが、約3か月でまたもや大きな変動がありました! (定期的に最新LLMランキングを更新してまいります。当社のX(旧Twitter)をフォローいただくことで更新情報を受け取り可能です) Nejumi Leaderboard 4は、日本語タスクにおけるLLMの性能を多角的に評価する信頼性の高いベンチマークとして知られています。 本分析では、商用APIモデルとオープンモデルの両方を対象に、それぞれの特徴や傾向を詳しく見ていきます。 オープンソースモデルについて Weightがオープンなモデルは場合によっては「オープンソースモデル」、「OSSモデル」と呼ばれますが、モデルによっては「オープンソース」と呼ぶには不十分な場合があるため本稿では、「オープンソースモデル」ではなく「オープンモデル」と表現しています。 ベンチマーク分析について 本レポートは

By Qualiteg コンサルティング, Qualiteg プロダクト開発部
日経トレンディ 2026年4月号に Bestllam の広告を掲載しました

日経トレンディ 2026年4月号に Bestllam の広告を掲載しました

こんにちは! このたび、日経トレンディ 2026年4月号(2026年3月4日発売、雑誌)に、当社のエンタープライズ向け統合型AIプラットフォーム「Bestllam」を掲載しました。 日経トレンディ(雑誌)は全国の書店・コンビニエンスストアにてお買い求めいただけますので、お手に取った際はぜひご覧くださいませ。 Bestllam とは? Bestllam は、「チャットで指示するだけ。仕事が終わっている。」をコンセプトに開発した、エンタープライズ向けの統合型AIプラットフォームです。 主な特長 20種類以上のLLMを、契約一本で OpenAI GPT、Anthropic Claude、Google Gemini をはじめ、DeepSeek、Qwen、Llama など商用・オープンソース合わせて20種類以上のLLMを1つの契約で利用できます。各プロバイダと個別に契約を結ぶ手間が不要になります。 6つのLLMに同時質問して、最適な答えを選択 同じ質問を複数のLLMに一括投げかけ、回答を比較・検討できます。各モデルの得意・不得意を活かすことで、重要な意思決定や精度が求められる業

By Qualiteg ビジネス開発本部 | マーケティング部
AIプラットフォーマーの垂直統合と、残された戦略オプション

AIプラットフォーマーの垂直統合と、残された戦略オプション

こんにちは! Qualitegコンサルティングチームです! 2026年現在、LLMの最大のユースケースの一つはコーディングだと考えています。実際、Menlo Venturesの調査でもコーディングはエンタープライズAI活用の代表的ユースケースとして位置づけられています。 そして、それにきづいたAIプラットフォーマー各社は自前のAIコーディングツールを次々と発表し人気を博しています。 逆にいえば、そのユースケースを早期に発見しプロダクト化してきた"コーディングSaaS"の開発企業は「胴元」であるAIプラットフォーマーが自分たちのSaaS領域に進出してきているわけで気が気でないでしょう。 ということで、本日はAIプラットフォーマーによる垂直統合と、私たちの取りうる戦略オプションについて考えてみたいと思います。 さて、2025年は、AIコーディングエージェント市場の勢力図が決定的に書き換えられた年でした。 Anthropicの「Claude Code」は2025年2月のリサーチプレビューから始まり、わずか半年で年換算ランレート(ARR)10億ドルに到達。 2026年初頭のア

By Qualiteg コンサルティング
KVキャッシュのオフロード戦略とGQAの実践的理解

KVキャッシュのオフロード戦略とGQAの実践的理解

こんにちは! LLM推論基盤プロビジョニング講座、今回は番外編をお届けします! 第3回「使用モデルの推論時消費メモリ見積もり」では、GPUメモリ消費の二大要素としてモデルのフットプリントとKVキャッシュを紹介し、1トークンあたりのKVキャッシュサイズの計算方法を解説しました。 また第4回「推論エンジンの選定」ではvLLMやDeepSpeedなど各推論エンジンの特性を比較し、第5回では量子化や並列化による最適化戦略を解説してきました。 しかし、実はKVキャッシュにはまだまだ掘り下げるべきトピックがあります。 * KVキャッシュをGPUのVRAMからCPU RAMやディスクにオフロードしたらどうなるのか? どのくらい遅くなるのか? * HuggingFace TransformersとvLLMでは、KVキャッシュの管理方針がなぜ根本的に異なるのか? * そもそもKVキャッシュが大きくなる原因であるアテンション構造を変えてしまう GQA(Grouped-Query Attention)とは何か? 第5回で紹介した量子化とは別の軸で、KVキャッシュを劇的に小さくする技術です。

By Qualiteg プロダクト開発部, Qualiteg コンサルティング