# LLMの基礎的な話題を(もりや)
LLMを、与えた文法と結果から、推測する記事やノウハウが増えていますが
知識を補完する目的で
LLMの仕組みの方から、何をやってるから、こうした方が良い
という感じのネタを...
クソ長くなりますので、文書読むだけで
解説はすっ飛ばしてもらってOKです。
いきなりですが
## <b>この リンゴ は 素晴らしい</b>
この文章をLLMの根幹を成している、Attentionのルールで見ると
こんな感じになります。
||1|2|3|4|
|:----:|:----:|:---:|:---:|:---:|
||この|リンゴ|は|素晴らしい|
|この|0.1|0.4|0.1|0.1|
|リンゴ|0.1|0.1|0.4|1.0|
|は|0.1|0.1|0.1|0.1|
|素晴らしい|0.4|1.0|0.1|0.1|
単語ごとの相関を見て、主語と述語に相当する部分の関係が強く出ます。
この処理を事前に行うことで、文章の中で注目すべき点
Attentionすべき点を割り出している。
となりますが
じゃぁ、注目すべき単語が分かったらどうなるの?
ということで、Attentionの本来の偉大な機能
座標変換が行えます。
## <b>この リンゴ は 素晴らしい</b>
もう一度この文章を見ると
食べ物のリンゴのことを言っているのか
Apple社の事を言っているのか分かりません。
この文章がもし
## <b>この リンゴ は 素晴らしい 使い勝手も最高だ</b>
という表現なら、よほどの変態じゃない限り
Apple社の事を言っていると分かります。
Attentionはこの時
||1|2|3|4|5|
|:----:|:----:|:---:|:---:|:---:|:---:|
||この|リンゴ|は|素晴らしい|使い勝手も最高だ|
|この|0.1|0.4|0.1|0.2|0.2|
|リンゴ|0.1|0.1|0.4|0.8|1.0|
|は|0.1|0.1|0.1|0.1|0.1|
|素晴らしい|0.4|0.8|0.1|0.1|0.4|
|使い勝手も最高だ|0.4|1.0|0.1|0.1|0.4|
のような重み付けになり
各単語をベクトルに変換した後
||1|2|3|4|5|
|:----:|:----:|:---:|:---:|:---:|:---:|
||0.99257|0.77871|0.34298|0.84408|0.32959|
|0.99257|0.1|0.4|0.1|0.2|0.2|
|0.77871|0.1|0.1|0.4|0.8|1.0|
|0.34298|0.1|0.1|0.1|0.1|0.1|
|0.84408|0.4|0.8|0.1|0.1|0.4|
|0.32959|0.4|1.0|0.1|0.1|0.4|
各ベクトル値に計算した重みを加算してやることで
注目すべき単語が存在するベクトル方向に
会話全体の座標を変換します。
ようは
## この文章はApple社の製品の話をしている
ということを、明確にすることで
何の話をしているのか?を明確にし
推論する内容の精度を上げています。
なるほど、となりますが
ここで1つ疑問が起こります。
## 複数の方向性が含まれる文章を投げるとどうなるの?
これがずばり、ChatGPT3シリーズが
アホと言われた原因になっています。
複数の話題
## <b>この リンゴ は 素晴らしい 使い勝手も最高だ 明日は晴れるかな</b>
のような文章になると
注目すべきポイントが、Apple社と天気になります。
結果、Apple社の話題と天気の話題
この中間地点の座標に移動することになり
文章から一貫性が消えます。
この問題への取り組みとして
目的が明確であればLLMはしっかり機能するんだ
という事は仕組み上ハッキリしているので
LLMを関数化する機能
Function Callが生まれます。(toolでも可)
そして、LLMのタスクを分解し
通常のプログラムと織り交ぜて使うテクニック
RAG(Retrieval Augmented Generation)が生まれます。
こうしたテクニックにより
## <b>この リンゴ は 素晴らしい 使い勝手も最高だ 明日は晴れるかな</b>
この問題の文章をそのまま処理するのではなく
プロンプトで
## 「この文章の中から、話の目次に相当する内容を抜き出し、話の目的を宣言的な短い表現にし、羅列して下さい。」
というような指示を与えてやると
### <b>使い勝手の素晴らしい、りんごの話をしています。</b>
### <b>明日の天気が晴れであるかを気にしています。</b>
このような形に変換することが出来ます。
こうした、分解要約テクニックでタスクを細分化し
要約した内容を、順番に個別に処理していく
という方法を取ることで、精度の低下を防ぐことが出来ます。
そして
### このタスク分解の手法を、そのままLLMにしたものが思考型LLMになります。
ここまでで、簡単な文章がどう処理されるかは何となく
イメージできると思いますが
### 非常に長い文章を取り込めるLLMでも同じなのか?
という疑問が次に湧きます。
LLMはGPUの配列演算ユニットを使う関係で
本来は最大4096トークンまでしか、1度に展開することが出来ません。
#### じゃぁどうやって最大100万ものトークンを処理しているのか?
前段で計算した重みデータと、一番重みが高い、ベクトルのIndex
これを次段の計算に引き継ぐ事で
文章全体の変換方向と、もっとも注目すべき場所の情報を保持したまま
メモリ容量の限界まで処理が可能な工夫が組み込まれています。
||1|2|3|4|5|
|:----:|:----:|:---:|:---:|:---:|:---:|
||0.99257|0.77871|0.34298|0.84408|0.32959|
|0.99257|0.1|0.4|0.1|0.2|0.2|
|0.77871|0.1|0.1|0.4|0.8|1.0|
|0.34298|0.1|0.1|0.1|0.1|0.1|
|0.84408|0.4|0.8|0.1|0.1|0.4|
|0.32959|0.4|1.0|0.1|0.1|0.4|
上記表の重み部分と、重みが最大になっているベクトルデータのIndexを次に持ち越す
これだけ見ると、へぇ、なんですが
引き継ぎデータは元のデータではなく、あくまで重みとIndexのみのため
文章量が長くなればなるほど、突発的に見当違いの内容で
Attensionの重みが最大化する場合があります。
また、長文になると文章全体の目的方向は
全体の平均となるので、非常に曖昧になります。
ですが、文章自体が強い目的を持ったもの
言語仕様書、マニュアル、法律文、等の場合
文章自体が作成された目的が明確であり
内容も一貫してその方向を向いているため
* 内容の要約による回答
* 内容を元にした、同じ方向の文書生成
においては、非常に有効な選択肢になりえます。
逆に、複数の異なる目的の文章を読み込ませる
雑多な内容の会話履歴を読み込ませる
という使い方においては
タスクの細分化を行う思考型では
ある程度結果を担保できますが
そうでない場合は
* 実行の度に結果が変動する
* プロンプトの差異で異常なほど内容が変わる
というよく聞くトラブルの原因になります。
<b>
気がつく人もいると思いますが、Attentionの特性を考えると
この長文理解のタスクにおいては
長文を渡す前のプロンプトで、方向性を明確に宣言してやることで
文章内から該当する項目以外の重みを下げることが出来ます。
</b>
ここまでで、恐らく日常のタスクにおいては
LLMに渡す資料、プロンプトの内容を見たときに
これは駄目なんじゃないか?
もっとこうした方が良いんじゃないか?
が、何となく分かれば、幸いです。
次に、ここまでの解説で
<b>LLMがAttentionを使った座標変換をメインにしているなら
なぜLLMの大きい小さいで、あんなに差が出るのか?
たとえば、float32からint4に丸め込んでも、変換している座標系の方向性は変わらないので
丸め込まれた分、出力内容が抜けることは分かるが
推論、予測精度が大幅に変わるのは変じゃないか?</b>
というツッコミが発生します。
float32からbfloat16や8、int4へ量子化だけ行った場合は
確かに、知識の欠如のみで推論性能が大幅に下がらないことは
これまでの検証で分かっています。
#### ビット数の違いは、保有知識に明確な影響が出るが、思考性能とは、直接的な関わりが薄い
ということが分かります。
見方を変えると
思考能力だけをLLMから抜き出して
不足する知識を、MCPやシステムプロンプトで補う方法を使う場合
単純な量子化でモデルサイズの軽量化を行えば
ランニングコストを大きく下げながら、性能はほぼ変わらない
という使い方が出来ると予測できます。
では、思考能力を決めている要因は何か?
これまでの説明から考えますと
思考力が会話の方向性を正しく認識出来ているか?
から来ていると考えられるので、Attentionで実現している座標変換
これが正しい位置に来ていないんじゃないか?
という予測が出来、実際に正解になります。
これが、あまり出てこないパラメーターdimension(次元)問題になります。
与えられたプロンプトが、会話のジャンルや内容から
座標空間上のどの地点にあるのかを複数の軸から割り出し
応答が会話の流れから外れる事を防ぎ、一貫した応答を実現しています。
小難しい話に見えますが
特に難しいことは無く、この概念は日常的に使っています。
桁数と次元が、物事の選択にどうかかわるのかをイメージするのに
簡単な例で、欲しいパソコンを選ぶ時を考えてみましょう。
kakaku.comから、パソコンのスペック詳細の検索の項目一覧を拝借します。
LLM的な解釈にすると
* パソコン構成要素の項目が 次元
* 各項目の選択肢が 桁数
になります。
座標計算で使われるxやyの次元の表現が、メーカーやCPUに
(0、0)や(0,1,2)で表現される座標情報が、(SONY、INTEL、NVIDIA)になったわけです。
まず、桁数と次元がすべて潤沢にある状態
項目と、選択肢が全てある状態を見ます。
※ 非常に長いので折りたたんでいます。
<details><summary>パソコン選択時の、構成項目と選択肢一覧</summary>
| 項目 | 選択肢 |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **メーカー名** | 選択しない, Abee, Acer, AOC, ASRock, ASUS, AYA NEO, BenQ, CHUWI, COMPAQ, Corsair, Dell, Dynabook, ECS, ELSA, eMachines, EPSON, EPSON DIRECT, Everex, Faith, FFF SMART LIFE CONNECTED, FRONTIER, Gateway, GIGABYTE, GMKtec, HiMeLE, HP, iiyama, IODATA, ITC, Lenovo, Maxtang, MAXZEN, MINISFORUM, MSI, NEC, ONE-NETBOOK Technology, ONKYO, PASOUL, PC DEPOT, Shuttle, SONY, SOTEC, TSUKUMO, ZOTAC, アーク, アプライド, インテル, サードウェーブ, サイエルインターナショナル, サイコム, シャープ, テークム, テックウインド, ドスパラ, トライジェム, ドン・キホーテ, パソコンショップSEVEN, パソコン工房, マイクロソフト, マイニングベース, マウスコンピューター, リンクス, 駿河屋, 東芝, 日立, 富士通 |
| **シリーズ名** | 選択しない, Aegis, Alienware, Amphis, AORUS, Aqua Master, arkhive BUSINESS, arkhive CREATOR, arkhive Gaming, Aspire, ASTROMEDA, ASUSPRO, BariKata, BSHシリーズ, CERVO, Chikappa, Chromebase, Chromebox, Codex, Compaq, Compute Stick, Cotte:Re, Creator, CSAシリーズ, CSシリーズ, Cubi, DAIV, Dell, Dell G, Dell Plus, Dell Pro, Diginnos Stick, dynabook, dynaDesk, Eee Box, EliteDesk, EliteOne, Endeavor, ENVY, ExpertCenter, FMV Desktop F, FMV ESPRIMO, G TUNE, GALLERIA, GALUDA, GAシリーズ, GBLSシリーズ, GBLシリーズ, GBシリーズ, GEシリーズ, G-GEAR, GHLシリーズ, GHシリーズ, GKLシリーズ, GKシリーズ, G-Master, GPLシリーズ, GRシリーズ, GTシリーズ, GXシリーズ, Harigane, ideacentre, Infinite, Inspiron, Katamen, Konaotoshi, LAVIE, Legion, Lenovo V, Lepton, LEVEL∞, LEVELθ, LIVA, LOQ, LUV MACHINES, Magnate, Mate, Mate J, MDV ADVANCE, META, MFGシリーズ, Modern, Monarch, mouse, MousePro, m-Stick, MXシリーズ, NEXTGEAR, Nitro, NUC, OMEN, OmniDesk, OmniStudio, OptiPlex, Pavilion, Precision, Predator, Premium Line, PRO, ProDesk, ProOne, RAIZAN, raytrek, Regulus, REGZA PC, ROG, ROGRESS, SENSE∞, Silent Master, Slim Magnate, SOLUTION∞, STYLE∞, Surface, ThinkCentre, ThinkStation, THIRDWAVE-G, Thunderstorm, Trident, VAIO, VALUESTAR, VELUGA, Veriton, Vero, Victus, Vision, Vivo AiO, VivoMini, VivoPC, VivoStick, Vortex, Vostro, VR One, XPS, ZBOX, ZEFT, Zen AiO, エアロストリーム, エアロスリム, 雅, 極, 煌 |
| **CPU種類** | 選択しない, Core Ultra 9, Core Ultra 7, Core Ultra 5, Core 7, Core 5, Core 3, Core i9, Core i7, Core i5, Core i3, Intel N150, Intel N100, Intel N95, Core Duo, Core 2 Duo, Core 2 Quad, Atom, Pentium, Celeron, Xeon, Ryzen AI 9, Ryzen 9, Ryzen 7, Ryzen 5, Ryzen 3, Ryzen Threadripper, AMD A-Series, AMD E-Series, Snapdragon X, Phenom II X6, Phenom II X4, Phenom II X2, Athlon II, Athlon 64 X2, Athlon 64, Athlon X2 Dual-Core, Athlon XP, Athlon XP-M, Athlon, モバイルAthlon4, Sempron, モバイルSempron, Turion64 X2, Duron, Core 2 Extreme, Phenom X4, Phenom X3, Phenom |
| **CPUスコア(PassMark)** | 選択しない, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 12500, 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000 |
| **コア数** | 選択しない, 24, 16, 12, 10, 8, 6, 4, 3, 2, 1 (※範囲指定用に上記の同一選択肢を“~”で2つ指定可能)) |
| **CPU世代** | 選択しない, Core Ultra シリーズ2, Core Ultra シリーズ1, Core プロセッサー シリーズ2, Core プロセッサー シリーズ1, 第14世代 Core プロセッサー, 第13世代 Core プロセッサー, 第12世代 Core プロセッサー, 第11世代 Core プロセッサー, 第10世代 Core プロセッサー, 第9世代 Core プロセッサー, 第8世代 Core プロセッサー, 第7世代 Core プロセッサー, 第6世代 Core プロセッサー, 第5世代 Core プロセッサー, 第4世代 Core プロセッサー, 第3世代 Core プロセッサー, Ryzen AI 300シリーズ, Ryzen 9000シリーズ, Ryzen 8000シリーズ, Ryzen 7000シリーズ, Ryzen 6000シリーズ, Ryzen 5000シリーズ, Ryzen 4000シリーズ, Ryzen 3000シリーズ, Ryzen 2000シリーズ, Ryzen 1000シリーズ (※範囲指定用に“~”で同一選択肢を2つ指定可能)) |
| **CPU周波数** | 選択しない, 1GHz (1000), 1.5GHz (1500), 2GHz (2000), 2.5GHz (2500), 3GHz (3000), 3.2GHz (3200), 3.4GHz (3400), 3.6GHz (3600), 4GHz (4000) (※範囲指定用に上記の同一選択肢を“~”で2つ指定可能)) |
| **CPUクーラー**| 選択しない, 空冷, 水冷 |
| **筐体** | 選択しない, タワー, ミニタワー, 省スペース, 液晶一体 (オールインワン), ミニPC・スティック |
| **ゲーミングPC**| チェックボックス(オン/オフ) |
| **法人向け(ビジネス)** | チェックボックス(オン/オフ) |
| **メモリ容量** | 選択しない, 1, 2, 3, 4, 6, 8, 12, 16, 32, 64, 128 GB (※範囲指定用に上記の同一選択肢を“~”で2つ指定可能))|
| **メモリ種類** | 選択しない, DDR5, DDR4, DDR3, DDR2, DDR, RDRAM, SDRAM |
| **ビデオチップ** | 選択しない, AMD, ATI, GeForce, GeForce2, GeForce4, GeForceFX, Intel, Mobile, M-RADEON, nForce2, RADEON, SiS, TNT2, VIA, Quadro, Qualcomm |
| **ビデオチップ詳細** | 選択しない, GeForce RTX 5090, GeForce RTX 5080, GeForce RTX 5070Ti, GeForce RTX 5070, GeForce RTX 5060Ti, GeForce RTX 5060, GeForce RTX 4090, GeForce RTX 4080 SUPER, GeForce RTX 4080, GeForce RTX 4070Ti SUPER, GeForce RTX 4070Ti, GeForce RTX 4070 SUPER, GeForce RTX 4070, GeForce RTX 4060Ti, GeForce RTX 4060, GeForce RTX 4050, GeForce RTX 3090Ti, GeForce RTX 3090, GeForce RTX 3080Ti, GeForce RTX 3080, GeForce RTX 3070Ti, GeForce RTX 3070, GeForce RTX 3060Ti, GeForce RTX 3060, GeForce RTX 3050, GeForce RTX 2080Ti, GeForce RTX 2080 SUPER, GeForce RTX 2080, GeForce RTX 2070 SUPER, GeForce RTX 2070, GeForce RTX 2060 SUPER, GeForce RTX 2060, GeForce GTX 1080Ti, GeForce GTX 1080, GeForce GTX 1070Ti, GeForce GTX 1070, GeForce GTX 1660Ti, GeForce GTX 1660 SUPER, GeForce GTX 1660, GeForce GTX 1060, GeForce GTX 1650 SUPER, GeForce GTX 1650, GeForce GTX 1050Ti, GeForce GTX 1050, GeForce GTX 980, GeForce GTX 960, GeForce GTX 960M, GeForce GTX 750Ti, GeForce GT 1030, GeForce GT 730, Radeon RX 9070 XT, Radeon RX 9070, Radeon RX 7900 GRE, Radeon RX 7900 XTX, Radeon RX 7900 XT, Radeon RX 7800 XT, Radeon RX 7700 XT, Radeon RX 7600 XT, Radeon RX 7600, Radeon RX 6900 XT, Radeon RX 6800 XT, Radeon RX 6800, Radeon RX 6750 XT, Radeon RX 6700 XT, Radeon RX 6650 XT, Radeon RX 6600 XT, Radeon RX 6600M, Radeon RX 6600, Radeon RX 6500 XT, Radeon RX Vega 64, Radeon RX Vega 56, Radeon RX 590, Radeon RX 580, Radeon RX 570, Radeon RX 560, Radeon RX 480, Radeon RX 470, Radeon R9 M470X, Radeon R9 255, Quadro RTX 5000, Quadro RTX 4000, Quadro P2200, Quadro P1000, Quadro P620, Quadro P400, Quadro K2000, Quadro K600, Quadro 5000, Quadro 4000, Quadro 2000, Quadro 600, Quadro 400, Quadro FX1800, NVIDIA TITAN X, Arc A770, Arc A750, Arc A380 |
| **TimeSpyスコア(3DMark)** | 選択しない, 17000, 12000, 8500, 4500, 0 |
| **ビデオメモリ** | 選択しない, 2, 4, 6, 8, 11 GB 以上 |
| **NPU搭載** | チェックボックス(有/無) |
| **SSD容量** | 選択しない, 80, 120, 160, 240, 256, 275, 480, 512, 1000, 2000 GB (※範囲指定用に上記の同一選択肢を“~”で2つ指定可能)) |
| **HDD容量** | 選択しない, 120, 250, 320, 500, 1000, 1500, 2000, 3000, 4000 GB (※範囲指定用に上記の同一選択肢を“~”で2つ指定可能)) |
| **ドライブ** | 選択しない, ブルーレイドライブ, DVDドライブ, ドライブなし |
| **ドライブ詳細** | 選択しない, Blu-rayドライブ(スーパーマルチドライブ機能対応), DVDスーパーマルチドライブ(2層対応), DVDスーパーマルチドライブ, DVDデュアルドライブ, DVD-ROMドライブ |
| **OS** | 選択しない, Chrome OS, Windows 11 Pro, Windows 11 Home, Windows 10 Pro, Windows 10 Home, Windows 8.1 Pro, Windows 8.1 Update, Windows 8.1, Windows 8, Windows 8 Pro, Windows 7 Professional, Windows 7 Home Premium, Windows Vista Ultimate, Windows Vista Business, Windows Vista Home Premium, Windows Vista Home Basic, Windows XP Professional, Windows XP Home, Windows Media Center Edition 2005, Windows Media Center Edition 2004, Windows 2000, Windows 98 SE |
| **Office有無** | 選択しない, Office有り, Office無し|
| **Office詳細** | 選択しない, Microsoft Office Home and Business 2024, Microsoft Office Home and Business 2021, Microsoft Office Personal 2021, Microsoft Office Home and Business 2019, Microsoft Office Personal 2019, Microsoft Office Home and Business Premium, Microsoft Office Personal Premium, Microsoft Office Home and Business 2016, Microsoft Office Personal 2016, Microsoft Office Home and Business 2013, Microsoft Office Personal 2013, Microsoft Office Home and Business 2010, Microsoft Office Personal 2010, Microsoft Office 2007, Microsoft Office 2007 + PowerPoint, Microsoft Office 2003, Microsoft Office XP, WPS Office 2 Standard Edition, WPS Office Standard Edition |
| **電源容量** | 選択しない, 300, 500, 600, 700, 800, 1000 W (※範囲指定用に上記の同一選択肢を“~”で2つ指定可能)) |
| **画面サイズ** | 選択しない, 15, 17, 19, 22, 24, 26, 32, 37 インチ (※範囲指定用に上記の同一選択肢を“~”で2つ指定可能)) |
| **解像度** | 選択しない, SXGA (1280x1024), WXGA (1366x768), WXGA++ (1600x900), フルHD (1920x1080), WUXGA (1920x1200), WQHD (2560x1440), 4K (3840x2160) (※範囲指定用に上記の同一選択肢を“~”で2つ指定可能)) |
| **タッチパネル** | チェックボックス(オン/オフ) |
| **ワイド画面** | チェックボックス(オン/オフ) |
| **スピーカー** | チェックボックス(オン/オフ) |
| **HDMI端子** | チェックボックス(オン/オフ) |
| **DisplayPort** | チェックボックス(オン/オフ) |
| **Thunderbolt** | チェックボックス(オン/オフ) |
| **USB4** | チェックボックス(オン/オフ) |
| **USB3.1 Gen2** | チェックボックス(オン/オフ) |
| **USB3.1 Gen1(USB3.0)** | チェックボックス(オン/オフ) |
| **光デジタル端子**| チェックボックス(オン/オフ) |
| **Webカメラ** | チェックボックス(オン/オフ) |
| **マウス・キーボード** | 選択しない, 有線マウス/有線キーボード, ワイヤレスマウス/ワイヤレスキーボード, マウスなし/ワイヤレスキーボード, なし |
| **生体認証** | 選択しない, 指紋認証, 顔認証, 指紋・顔認証 |
| **無線LAN** | 選択しない, Wi-Fi 7 (11be), Wi-Fi 6E (11ax), Wi-Fi 6 (11ax), Wi-Fi 5 (11ac), Wi-Fi 4 (11n) |
| **有線LAN速度**| 選択しない, 100, 1000, 2500, 10000 Mbps 以上 |
| **Bluetooth** | チェックボックス(オン/オフ) |
| **地上デジタルチューナー** | チェックボックス(オン/オフ) |
| **BSデジタルチューナー** | チェックボックス(オン/オフ) |
| **110度CSデジタルチューナー** | チェックボックス(オン/オフ) |
| **BS4Kチューナー** | チェックボックス(オン/オフ) |
| **110度CS4Kチューナー** | チェックボックス(オン/オフ) |
| **幅** | 選択しない, 100, 150, 200, 250, 500 mm (※範囲指定用に上記の同一選択肢を“~”で2つ指定可能)) |
| **奥行** | 選択しない, 200, 300, 400, 500 mm (※範囲指定用に上記の同一選択肢を“~”で2つ指定可能)) |
| **高さ** | 選択しない, 200, 300, 400, 500 mm (※範囲指定用に上記の同一選択肢を“~”で2つ指定可能)) |
| **エコマーク** | チェックボックス(オン/オフ) |
| **カラー** | 選択しない, ブラック系, シルバー系, ホワイト系, レッド系, ピンク系, オレンジ系, ゴールド系, イエロー系, グリーン系, ブルー系, パープル系, ブラウン系, グレー系, その他 |
| **発売時期** | 選択しない, 過去6ヶ月以内, 過去12ヶ月以内, 過去24ヶ月以内 |
| **並び順** | 価格の安い順, 価格の高い順, 発売日の新しい順, 登録日の新しい順, 売れ筋ランキングの高い順, 満足度の高い順, クチコミの多い順, 取扱店舗数の多い順, 製品名順, コア数の昇順, コア数の降順, CPU周波数の昇順, CPU周波数の降順, TimeSpyスコア(3DMark)の昇順, TimeSpyスコア(3DMark)の降順, SSD容量の昇順, SSD容量の降順, HDD容量の昇順, HDD容量の降順, 画面サイズの昇順, 画面サイズの降順, 解像度の昇順, 解像度の降順, 発売日の古い順, 登録日の古い順, 売れ筋ランキングの低い順, 満足度の低い順, クチコミの少ない順, 取扱店舗数の少ない順 |
| **価格** | テキスト入力(数値範囲指定可能)、および「価格がある製品のみに絞る」チェックボックス |
| **価格.com限定モデル** | チェックボックス(オン/オフ)、および限定割引/特別仕様モデル/オプション特典付(いずれも限定時に有効) |
| **画像** | チェックボックス(「画像を表示しない」) |
</details>
仮に、この項目、選択肢を全て埋めてパソコンを選んだ場合
シンデレラフィットレベルの1台と出会えるか、1台もない
の、究極2択まで1度で持っていけます。
次に、データの整理が面倒だったので、選択肢が無い、場合を見てみます。
※ 非常に長いので折りたたんでいます。
<details><summary>パソコン選択時の、構成項目と選択肢一覧</summary>
| フィルタ項目 |
| ----------------- |
| CPU |
| CPUクーラー |
| 本体タイプ |
| メモリ |
| グラフィック |
| NPU |
| ストレージ容量 |
| 光学ドライブ |
| 搭載ソフト |
| 電源 |
| モニタ |
| インターフェース |
| その他機能 |
| 生体認証 |
| ネットワーク |
| チューナー |
| サイズ |
| エコマーク |
| カラー |
| 発売日 |
| 登録日 |
| CPU種類 |
| CPUスコア (PassMark) |
| CPU周波数 |
| コア数 |
| 筐体 |
| ゲーミングPC |
| メモリ容量 |
| メモリ最大容量 |
| メモリ種類 |
| 全メモリスロット数 |
| 空メモリスロット数 |
| ビデオチップ |
| ビデオメモリ |
| ドライブ |
| ドライブ詳細 |
| OS |
| Office詳細 |
| 画面サイズ |
| 解像度 |
| タッチパネル |
| モニタ接続 |
| ワイド画面 |
| スピーカー |
| マウス・キーボード |
| Webカメラ |
| LAN |
| 無線LAN |
| Bluetooth |
| 地上デジタルチューナー |
| BSデジタルチューナー |
| 110度CSデジタルチューナー |
| BS4Kチューナー |
| 110度CS4Kチューナー |
| 重量 |
</details>
この場合、すべての項目を何となくの表現で埋めた場合
0の確率は減りますが、合っているかどうか分からない物が複数出てくるので
ピックアップされた検索結果から、反復で絞り込みを行う必要があります。
パソコンがどういうもので構成されているかは知っているので
何となく絞り込む事はできるけど
パーツの情報、構成が実現可能な物か(パーツ構成が1000w級なのに、電源が400wなど)
の、知識部分の情報が欠如しているので
8割型は攻めれても、残りの2割が攻めきれない。みたいなことになります。
このパターンの場合も、追加知識を外部から追加してあげれば
正しい回答が得られることは容易に想像がつきます。
どこかの思考型AIで聞いたことがある流れです。
最後に、項目数を絞った場合を見てみます。
| フィルタ項目 |
| ----------------- |
| CPU |
| メモリ |
| グラフィック |
| ストレージ容量 |
| 電源 |
| メモリ容量 |
| OS |
実際にパソコンを買う場合は
これだけ決まってれば十分というドストレートなツッコミはありますが
この内容でヒットしたパソコンからさらに
* 設置場所に応じたサイズ条件
* キーボード・マウスの構成
* Bluetooth接続機器の有無
* 拡張ポートの条件
* 画面サイズ、台数
など、複数の条件を絞り込む必要が発生し
提案される内容はおそらく
### コレジャナイ
になるでしょう。
パソコンには違いないけど
こっちの要望をことごとく外してくる店員のごとく
良くある小規模AIのように
* だいたいの会話の方向はあってるけど、何かが違う
* 会話の内容が一貫しない
* 言語に一貫性がなく、ルー大柴が現れる
* 会話が破綻を始める
という特徴が、パソコン選びにおいても
条件が揃うとだいたい同じことになるのが
何となくイメージ出来たと思います。
次元のイメージが何となく付いたと思いますので
これを踏まえて昨今の軽量LLMを見ますと
軽量モデルが例外なく推論能力まで著しく落ちているのは
軽量化の方法が
### 桁数を落とす量子化と、次元数の削減をしているから
ということが分かります。
そして、次元数の削減が行われているため
MCP、プロンプトで知識を補完しても
期待する性能まで上がらないことも分かります。
じゃぁ、何に使えるのか?
不要なんじゃないのか?
という必要論に当然なります。
ものすごくピンポイントな使い方しかできませんが
* こちらから会話の座標を固定した情報を与える
* 知識補完の情報を与える
という使い方であれば進化を発揮します。
* 工場や農業などの、センサーデータの監視
* データの通信パターンから異変の感知
のような、一点に刺さる内容であれば威力を発揮できますが
現状では仮に4Bであっても大きすぎる。
という問題がありますので、1B世代の普及が望まれるところです。
### 最後に
尋常じゃなく長くなりましたし
これでもまだ、学習、強化学習、ハルシネーション
基礎部分で、RNN、LSTMとの違い互換
Attentionのバリエーションと、非Attention型のLLM
ハードの制限問題と改善状況
などなど、多くの話題が残っています。
そして、何となくイメージできかもしれませんが
プロンプトエンジニアリングから学習を始めたとしても
入力と、挙動、出力の特性を検証していくことで
同じ情報が得られる事が分かるかと思います。
どう入って、どう進むのが正解かは、分かりませんが
今更LLM、ましてやニューラルネットの基本を学ぶメリットは
正直あまりないと思っています。
プロンプトを操作し、実際の開発から派生させながら
感覚を掴んでいくのが、現状では最も負担のない近道であると思っています。
ただ、バイブスコーディングなる言葉もできる通り
何となくでも、相応の結果を出してくるLLMの影響か
挙動の追求の落差が、思ったより激しくなっていると痛感しています。
この先5年、10年でも、開発者としてやっていくための
LLMの手綱を握る上で、何か約にたてば何よりです。