【極めればこのテンソル操作】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学習の現実:GPU選びから学習コストまで徹底解説

LLM学習の現実:GPU選びから学習コストまで徹底解説

こんにちは! なぜOpenAIやAnthropicは世界最高水準のLLMを作れるのに、それに肩を並べる日本発のLLMは存在しないのでしょうか? 技術力の差でしょうか。それとも人材の問題でしょうか。 答えはもっとシンプルです。GPUの枚数とお金です。 今日はそんな 「LLMの学習」にフォーカスをあて、そのリアルについて徹底解説いたします! 1. はじめに 「LLMを自分で学習させてみたい」 そう思ったとき、最初にぶつかる壁がGPUの問題です。 どのGPUを何枚使えばいいのか。クラウドで借りるべきか、オンプレで買うべきか。そもそも個人や小規模チームでLLM学習は現実的なのか。 本記事では、こうした疑問に対して、具体的な数字と事例を交えながら答えていきます。 たとえばLLaMA 2の学習にはA100が2,048枚使われました。DeepSeek-V3は約8億円かかりました。では、あなたの手元のGPUでは何ができるのか。そこを明らかにしていきたいと思います。 対象読者は、LLM学習に興味があるエンジニアや研究者です。PyTorchでモデルを書いたことがある程度の知識を前提とし

By Qualiteg プロダクト開発部, Qualiteg 研究部
今からはじめるClaude Code

今からはじめるClaude Code

こんにちは! 今日は、最近エンジニアの間で話題になっているAIコーディングエージェント「Claude Code」について取り上げます。 AIによるコーディング支援ツールはここ1〜2年で一気に増え、「結局どれを選べばいいのか分からない」と感じている方も多いのではないでしょうか。本記事では、そうした中でClaude Codeを実際に使ってみた所感と、Windows環境での導入・運用の考え方を整理していきます。 AIコーディングツール、どれを使う? 2025年は、AIコーディング支援が一気に“実用品”になり、選択肢が増えすぎて迷いやすい年になりました。 GitHub Copilot、Cursor、Windsurf、Devin、Aider、Cline、OpenHandsなど、商用からオープンソースまで含めると、軽く20種類を超えます。 機能や思想が似ているものも多く、情報を追うだけで疲れてしまう、という方も少なくないと思います。 以前、当社ブログでは「AIコーディングエージェント20選」で全体像を整理しました。 AIコーディングエージェント20選!現状と未来への展望 【第1回】

By Qualiteg プロダクト開発部, Qualiteg コンサルティング
日本語対応 LLMランキング2025 ~ベンチマーク分析レポート~(12月18日版)

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

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

By Qualiteg コンサルティング, Qualiteg プロダクト開発部
AIコーディングエージェント20選!現状と未来への展望 【第1回】全体像と基礎

AIコーディングエージェント20選!現状と未来への展望 【第1回】全体像と基礎

こんにちは! 今回は、20種類以上あるまさに百花繚乱なAIコーディングツールを一挙に紹介&解説していきたいとおもいます! AIをつかったコーディングはもはや常識となり、日々目まぐるしく新しいツールが登場しています。当社でも自社開発のAIコーディングツールをふくめ複数のツールを活用してソフトウェア開発をすすめていますが、次々とナイスなツールがでてきて興奮しつつも、正直キャッチアップが追いつかない…!という状況です。 「結局どれを使えばいいの?」「Claude CodeとCursorって何が違うの?」「オープンソースでも使えるやつあるの?」——そんな疑問を持っている方も多いのではないでしょうか。 そこで本シリーズでは、2025年12月時点でのAIコーディングツールを徹底的に整理してみました。商用サービスからオープンソースまで、20以上のツールを比較しながら、それぞれの特徴や使いどころ、そして現時点での限界についても現場視点をいれながら正直にお伝えしていければとおもいます ※「AIコーディングツール」は「コーディングエージェント」といったほうが今風なので記事内ではコーディングエー

By Qualiteg コンサルティング