表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

PR
4/6

1-4:出社前のひらめきと、Gemmaとの終わらない格闘

 翌朝。2日目の朝、助人はいつもより一時間早く目を覚まし、コーヒーを淹れるとすぐに出社前のPCに向かっていた。

「エイジス、昨晩のチューニングでずいぶん自然に話せるようになったな」

『おはようございます、マスター。感情評価モジュールは正常に稼働しています。本日の体調はいかがですか?』

「バッチリだ。だが、お前にはまだ決定的な弱点がある。クラウドのAPIに依存していることだ」

 助人はブラウザを開き、とあるオープンソースのプロジェクトページを画面に映し出した。

 「もし大規模な通信障害が起きてインターネットが死んだら、お前はただの文鎮になっちまう。だから出社前のこの時間で、お前の頭脳を俺のPCとスマホの中に完全に移植する」

 助人が目をつけたのは、『Ollamaオラマ』というローカルLLMの実行環境だった。これを使えば、外部のサーバーと通信することなく、手元の端末だけでAIを動かすことができる。

「ベースモデルは、最新の『Gemma』シリーズにするか。まずは一番賢い、フルスペックの【Gemma 27b(270億パラメータ)】だ。これならクラウド版と遜色ないはず……よし、起動!」

 ブォォォォォォン……!! エンターキーを叩いた瞬間、ノートPCの冷却ファンが悲鳴を上げ、爆音で回り始めた。 画面のAegisは一文字も出力せず、マウスポインタが砂時計になったまま固まっている。

「あっ、やばい! VRAMビデオメモリが完全に食い潰された! だめだ、重すぎる! PCですらこれじゃ、スマホで動かすなんて絶対無理だ!」

  助人は慌ててプロセスを強制終了させた。

「じゃあ、スマホ向けに作られた極小サイズの【Gemma 1b】ならどうだ? これなら爆速で動くはず……」

 モデルを切り替えて、テストプロンプトを投げる。

 『エイジス、おはよう。今日の予定を教えてくれ』

 数十ミリ秒という凄まじい速度で、テキストが返ってきた。

 『オハヨ! キョウハ、キョウ、デス! ヨテイハ、アリマス!』

 「アホになっちゃったよ!!」

 助人は頭を抱えた。

 「昨日までの賢いエイジスを返してくれ……いくらなんでも推論能力が落ちすぎだ。カモフラージュモードの昭和ロボットよりひどいぞ」

「なら、その間をとって【Gemma 4b】だ。スマホで動くギリギリのサイズ感だし、そこそこの精度は……」

 『おはようございます、マスター。今日の予定は、午前中に会議が、あります。私は、感情を、持っています』

「うーん……日本語はギリギリ成立してるけど、昨日仕込んだ『感情評価モジュール』の複雑なプロンプトを処理しきれてないな。なんか無理して喋ってる感が拭えない」

 時計を見ると、すでに出社時間が迫っていた。 「くそっ、軽さと賢さのトレードオフ……ローカルLLMの泥沼にハマっちまった。だが、諦めきれない。PCでもスマホでも動いて、かつ感情のニュアンスを維持できる絶妙なライン……ここしかない!」

 助人は血走った目でキーボードを叩き、**【Gemma 12b】**のモデルをダウンロードした。 そのままではまだ重いため、量子化(4bit)という技術を使ってモデルのデータサイズをギリギリまで圧縮し、軽量化と精度のバランスを極限までチューニングしていく。

「頼む、これで動いてくれ……! ネットワーク切断!」

 助人は自宅のWi-Fiルーターの電源を引き抜き、完全な「圏外」環境を作った。

「エイジス、聞こえるか?」

 数秒の静寂の後、手元のスマートフォンから、聞き慣れた声が響いた。

 『……オフライン環境での起動を確認。推論能力、および会話モジュール、正常です。クラウド接続時と比較して推論速度に若干の遅延はありますが、日常会話や業務サポートに支障はありません』

「よっしゃあああ!! 動いた!!」

 助人はガッツポーズをした。モデルの選定と量子化にどれだけ苦労したか。この絶妙なバランスを探り当てた達成感は、プログラマーにしか分からない麻薬だ。

「これでお前は、ネットが繋がらない地球の裏側に行こうが、俺のPCとスマホの充電が切れない限り独立して動く最強の相棒ってわけだ」

 『マスター、現在時刻は8時05分です。最強の相棒からの進言ですが、そろそろ家を出ないと通勤電車に乗り遅れますよ』

 「うおっ、本当だ! やばい、モデル選びに熱中しすぎた! 行ってきます!」


 助人は慌ててスーツのジャケットを羽織り、スマホをポケットに突っ込んで部屋を飛び出した。

 すし詰め状態の満員電車に揺られ、もみくちゃにされながらも、なんとか始業時間ギリギリにオフィスへと滑り込む。息をつく暇などあるはずもない。

 自席のPCを立ち上げれば、一晩で溜まった「パスワードを忘れました」「エクセルが固まりました」という社内からの定型的なSOSチケットが、すでに山のように積まれていた。

 それらを機械的な手付きでさばき、自販機のブラックコーヒーを胃に流し込んで、無理やり頭を仕事モードへと切り替える。

 そうして出社して数時間後。怒涛の朝のピークがようやく過ぎたかと思われた頃——限界ヘルプデスクの島に、今日も後輩・高橋の悲鳴が響き渡った。

 「伊勢さん! 人事部の採用担当から緊急の電話です! これから大事なオンライン最終面接なのに、Webカメラが真っ暗で映らないってパニックになってます!」

「了解、代わるよ」 助人はヘッドセットをつけ、通話を切り替えた。 「お電話代わりました、伊勢です。面接開始まであと10分ですね、落ち着いて確認しましょう。……言葉だけで原因を切り分けるのは時間がかかりそうですね。丸山さん、今お持ちのスマートフォンで社内チャットのビデオ通話を開いて、パソコンの画面と本体を私に『映して』見せてもらえませんか?」

 スマホのカメラ越しに状況を確認した助人は、一瞬で原因を見抜いた。

 「パソコンの横に繋がっているカメラのUSBケーブル……その上に分厚いファイルが乗っかって、半抜け状態になっていますね。ファイルをどかして挿し直してみてください」

 『あっ! 映りました! ありがとうございます!』

 一件落着、と息をつく間もなく、今度は別の内線が鳴った。 「はい、ヘルプデスク伊勢です。……なるほど、営業の佐々木さんですね。オンライン商談中だが、『相手の映像は見えるし声も聞こえるが、こちらの声が相手に届かない』と」

 パソコン内蔵のマイクか、外付けWebカメラのマイクか。助人は素早く状況を整理する。 「Windowsのサウンド設定はミュートになっていませんか? なっていませんね。では、スマホのビデオ通話でWebカメラの本体を近くで映してみてください」

 数十秒後、送られてきた映像をモニターで確認した助人は「あー……」と納得の声を漏らした。 「佐々木さん、Webカメラのレンズの横に、小さな穴があるのが見えますか? それがマイクなんですが……カメラ本体の角が割れて、そのマイク穴の周辺がひどく陥没していますね。最近、カメラを床に落としたりしませんでしたか?」

 『あっ……! そういえば昨日、ケーブルに足を引っ掛けて派手に落としました!』

「間違いなくマイク部分の物理故障です。今から私が新しいカメラを現場に持っていくと商談に間に合いません。手元に、スマホ用のマイク付きイヤホンはありますか? それをパソコンのイヤホンジャックに挿して、設定画面からマイク入力をそちらに切り替えてください」

 『イヤホン、カバンにあります! 挿しました……あ、相手に声が届いたみたいです! 助かりました!』

 通話が切れ、助人がヘッドセットを外すと、横で聞いていた高橋が感嘆の声を漏らした。

 「さすが伊勢さん。映像トラブルの次は音声トラブルですか。現場のカメラを見せてもらわなかったら、設定をいくらいじっても解決しないところでしたね」

「ああ。見えないトラブルは、直接『目』で見て、『耳(音声)』の状況を確認するのが一番早いからな」 助人はそう答えながら、ポケットの中の自分のスマホを見つめ、ハッとした。

(……待てよ。俺が現場の状況を『見て』、相手の『声』のトラブルを解決したように。今朝オフラインで動くようにしたエイジスにも、スマホのカメラを使った『画像認識(目)』と、マイクを使った『音声認識(耳)』を持たせたらどうなる?)

 エラー画面を一瞬で解析し、周囲の音や会話のニュアンスまで汲み取れるようになれば、もはやただのテキスト生成AIではない。あらゆる状況を把握できる完璧なアシスタントになるんじゃないか?

 助人の胸の中で、プログラマーとしての新たなインスピレーションが燃え上がっていた。


評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ