2023年振り返りと2024年技術予想
今年個人的に心に残った技術や、来年盛り上がりそうなキーワードをつらつら書きます。
「2023年予想」の振り返り
前回「TechReport 2022.12」での2023年予想をふりかえってみます。
ジェネラティブAI(生成AI)
あえてこの本で紙面を割く必要なんて無いほど、ジェネラティブAI、とくにLLM(大規模言語モデル)で盛り上がった一年になりました。 「予想」を書いた頃には登場したばかりだったChatGPTも、この一年で急速に得意不得意などへの理解が進み、GitHub Copilotを先駆けに、MicrosoftのCopilotや、AmazonのQ、GoogleのDuet、あるいはNotion AIといった、デジタル化された業務そのものを手助けしてくれるアシスタントとしてのAIが、怒濤の勢いで一般化しつつあります。 この本を書くうえでも、構成の壁打ちや見落としている視点がないかなど、AIの支援を受けて執筆しています。一般的な知識であればベタなモデルのままでも十分に話せますし、高度な技術的知識や組織内の情報などもRAGのような文書検索の仕組みを組み合わせることが簡単にできるようになっています。 「2025年には全データの10%がAIによるもの」という昨年見かけた予測、上回って実現しそうな気配ですね。
開発環境のクラウド化
VSCodeもJetBrains IDEもRemote Developmentに対応して、UIとバックエンドの分離が当たり前になっています。Microsoft Dev Boxや、Google Cloud Workstationsなど正式リリースされ、環境や道具は整ってきています。一般的に普及したと呼べるのはもう少し先ですが、たとえば先日出版されたLangChain本なんかでは開発環境としてAWS Cloud9を採用していました。 ほかにもJupyter NotebookをベースにしたGPU付きのPython開発環境を使えるGoogle Colaboratoryなどを使うことで、小規模なLLMであれば比較的手軽に動かすこともできます。こういった特定の用途からじわじわとクラウド化された開発環境が一般にしみ出していきそうです。
衛星通信のコモディティ化
Starlinkの衛星通信キットがコストコ店頭でたたき売り値引き販売されたり、月額費用が半額の6,600円になったりと、昨年よりもさらに普通に手が出る価格帯になってしまいました。 今もSpaceXはStarlinkの衛星を毎週ばんばん打ち上げていますし、打ち上げているロケットFalcon 9は再利用型なので、よりコモディティ化していくのは間違いないでしょう。
うるう秒の廃止
原則2035年までに廃止ということで決定しましたね。めでたい。 地球自転との「時差」が1秒以上開いてしまうという問題は次の世代に持ち越すことになりますが、少なくとも現状のITにおいてはうるう秒は難しい、というのが個人的立場です。
SBOM:ソフトウェアコンポーネント部品表
過度な期待を寄せられているSBOMですが、経済産業省から手引き書が出たり、IPAの情報セキュリティ10大脅威2023で「サプライチェーンの弱点を悪用した攻撃」が2位に上昇したりと、実態はともかくその考え方に対する需要は高まる一方です。 GitHubがセルフサービスでSBOMを生成できるサービスをはじめるなど、ツール側の試行錯誤はまだまだ続きそうです。 というわけで、ここからは来年注目したいキーワードを取り上げていきます。
メガクラウドと特化型クラウド
調査会社による2023年3Qのクラウドシェアが発表されていますが、上位3社(AWS、Microsoft、Google)が全体の三分の二近くを占めるという状況は変わらず、いち早くGPT4に対応したAzure OpenAIをリリースしたAzureが若干有利かな、くらいの印象です。 視点を変えると、特定サービスのクラウドベンダーとしてSnowflakeやMongoDBが伸びているというのは今後注目するべきポイントかもしれません。GPT4のためだけに普段使っているクラウドから一歩出てOpenAI APIを使い始めるなど、メガクラウドではない専業クラウドサービスに有利な流れが来ているように思います。 低価格なサービスが多いことから売上額としては目立ちませんが、CDNのCloudflareはAmazon CloudFrontよりもシェアが高く、グローバルな利用数では圧倒的に、相対的にAWSが強い日本国内においてもCloudFrontを上回っています。 クラウド上でサービスを作る上で、一番上(CDN)と一番下(LLMやDB、Cache)からそれぞれアンバンドルされていくという流れの予兆だと感じています。
ハイパーバイザーのSoC化
メガクラウドの仮想化基盤は、リソース効率や性能、セキュリティなど様々な必要性によって、単なるPCサーバーの仮想化というだけでなく、様々な先進技術を取り入れて実現されています。これは短期的というよりは中長期的なトレンドですが、後述するAzure Boostの一般提供などもあったので今回紹介します。 AWSではもともとカスタムしたXenを仮想化技術として使っていましたが、新しいインスタンスタイプからAWS Nitro Systemと呼ばれる新しい仮想化基盤に移行しています。Nitro Systemでは、いわゆるDom0と呼ばれる仮想化ハイパーバイザーの機能を専用ハードウェア「Nitro Card」に分離し、独自に開発したカスタムチップで様々な機能を実現しています。ローカルストレージやEBSに対するアクセス、VPC内のネットワーク通信に対する透過的な暗号化や、セキュアブートのためのTPMをNitro Cardに分離することで、サーバー内のインスタンスを保護しています。ほかにもSRD(Scalable Reliable Datagram)というプロトコルを開発し、TCPやUDPの通信をNitroカード上でSRDに透過的に載せ替えることで、マルチパスや輻輳制御などを最適化し、99.9パーセンタイルのようないわゆる「たまに引っかかる遅延」を大幅に削減・改善しています。 同じようにMicrosoftも仮想化基盤を最適化された専用ハードウェアにオフロードするAzure Boostを2023年に正式提供しました。Azure BoostはおおざっぱにはAWS Nitro Systemと同じように性能とセキュリティを確保するモノですが、FPGAなどを積極的に採用しているあたりが特徴です。こちらもSRDと同じようにTCP/UDPの通信を独自のトランスポートプロトコルLTL (Lightweight Transport Layer)に変換して最適化しています。 独自でハードウェアから開発しているAWSやMicrosoftに対して、GoogleはIntelと共同開発したIntel Infrastructure Unit(Intel IPU)を採用しています。もともとネットワーク処理のハードウェアオフロードはIntelのSmart NICが得意としてきた分野です。 Azure Boostとはまた別に、OpenAIのようなAIモデルにつかう基盤として、NVIDIAのQuantum-2 InfiniBandを利用してH100 TensorコアGPUとネットワークを直結する仮想マシンを提供しています。もはやクラウドのワークロードのメインがCPUだけという時代は終わりつつあり、多様な「計算機資源」に対してワークロードを割り当て、その間の通信を極限まで最適化するという領域に踏み込んでいます。
ライセンスとクラウドベンダー
2020年頃から、企業によるオープンソースソフトウェアと、クラウドベンダーの間の軋轢の結果として、「オープンソースソフトウェア」ではない商用サービスでの利用を制限するライセンスへと変更する例が続いています。そこにはRedis、Elasticsearch、Kafka、Terraformなど、重要なソフトウェアが並んでいます。 もちろんライセンスを変更する直前まではオープンソースソフトウェアですから、クラウドベンダーやライバル企業によってプロジェクトがフォークされ、ライセンスを維持した別ソフトウェアがリリースされています。 ちょっとおもしろいのは、TerraformのフォークがOpenTofuと「豆腐」になりました。当初はOpenTFという名前でしたが、商標等のリスクから豆腐になったようです。 個人的には「便利な(オープンソース)ソフトウェアを開発してきた人が経済的に食っていける」という世界であって欲しいなと思いますが、それはそれとしてライセンスはライセンスなので、何もかもオープンソースが当たり前、という世界からはすこしだけ遠ざかりつつあるように見えます。これも「技術トレンドの螺旋」の揺り戻しかも知れません。
イベント駆動型API
ガートナーのハイプサイクル2023年で、黎明期を抜けようとしているのが「イベント駆動型API(Event-Driven APIs)」です。 サービスの外側に機能を提供するWebAPIでは、HTTPのセマンティクスをベースにしたREST APIや、SNSなどにおける複雑なクエリを発端とするGraphQLが広く使われています。特にシステム間連携ではREST APIが主流です。 REST APIは同期的なリクエスト・レスポンスです。ネットワークエラーによる再送などを適切に扱うには、送ったはずが届いていない、実際には届いているけれど最後の応答確認が届かず送信元ではエラーになってしまった、新しい情報を即座に知るためには高頻度でポーリングするためリソースが無駄になっている、など様々な難しさがあります。 こういった課題を和らげるものとして、非同期なイベント駆動型APIを外部に提供しようという動きがあります。その一つが、OpenAPIのようにイベント駆動型APIの仕様として業界標準を目指すAsyncAPIです。 REST APIであれば、たとえばリクエストやレスポンスにどのようなJSONを含むか、HTTPメソッドやステータスコードをどうするべきかなどを仕様化する必要があり、現在はOpenAPI(Swagger)のエコシステムに乗ることでドキュメントやインターフェースを含む各言語のコードを生成できます。イベント駆動型APIであってもメッセージのフォーマットなどを仕様化するための仕組みとして、AsyncAPIもドキュメントやコードの自動生成を実現しています。まずは、システム内のマイクロサービス間などから使われていくと思われますが、今後組織をまたぐようなシステム間のイベント駆動型APIエコシステムというのが成り立っていくと予想しています。
LLM時代のAIペアプログラミング力
この一年で、ソフトウェア開発でGitHub Copilotは欠かせない道具となりました。Copilotすなわち副操縦士という名前の通り、Copilotとペアプログラミングをしているわけです。メソッドや変数の名前、コメントなどを利用して自分の意図をCopilotにうまく伝える「ペアプロ力」が要求されるわけです。 その一方で、ChatGPTのようなチャット型AIでは「プロンプトエンジニアリング」が重要と言われます。またGitHub Copilotなどでも対話形式での作業指示をするノウハウが増えてきています。 今後AIとのコミュニケーション手段は、「チャット」や「ソースコード」に限らずどんどん多様化していくでしょう。そのときに実現したいことをどうAIと共有するか、AIの中心がLLMであるうちは、言語コミュニケーションがどんどん重要になっていくのかも知れません。
生活必需品としてのGPU、そしてNPU(AIアクセラレーター)
現在のAIは、小規模なLLMを除いてはクラウド上の大規模データセンターの上で動いています。膨大なリソースを必要とするモデルの学習やファインチューニングはともかく、対話のような「推論」については、モデルやアーキテクチャの進化やプロセッサーの性能向上によって、LLMをローカルで動かすのが当たり前になる時代がいつか来ます。 この本を執筆している時点では、小規模なLLMですら、RTX4070 Ti(12GB)のような今まさにコンシューマ向け最高性能のGPUを必要とします。 その一方で、各社スマートフォン用のSoCにAIチップ(Google edge TPU)やMLアクセラレーター、ニューラルエンジン(Apple)と呼ばれる、行列計算などAI技術に必要な演算に特化した演算器を載せてきています。 ちょうどリリースされたばかりのIntel Core Ultra(Meteor Lake)にも、NPU(Neural Processing Unit)と呼ばれるプロセッサーが搭載されています。これはArmのQualcommやAMD Ryzenも同じような動きを見せています。こういったAI推論向けプロセッサーを積んだPCを「AI PC」と呼んでいくようです。「2028年には市場の80%がそのAI PCになる」と予測されています。 クラウドにすべてを投げる現状のLLMでは、ネットワークの遅延やクラウド内での処理待ちなどにより、リアルタイムでの判断を任せるのはまだ厳しいところですが、ローカルでの推論が当たり前になってくると、このあたりの前提も大きく変わってくるでしょう。
Passkey
「パスワード」というものの脆弱さが、現実的なリスクとなってFIDOなどの色々な仕組みが揃ってきましたが、ついに本命となるPasskeyが幅広く使える状況になりました。Passkeyそのもの紹介については適切な書籍があるのでそちらを読むのが良いでしょう。 Passkeyの仕組みは、いわば公開鍵認証と接続先ドメインをひもづけた高度なパスワードマネージャですが、パスワードマネージャというもの自体が使うのに多少なりともリテラシーが必要とされるという難しさがありました。PasskeyであればOSの機能としてデータのバックアップやデバイス間の同期まで含めてサポートしてくれるので、パスワードを忘れてしまったり、フィッシングサイトに入力してしまったりといったパスワードを使う上での難しさが大幅に軽減されます。 とはいえすべてが上手くいくというわけでは無く、たとえばiPhoneからAndroidにOSをまたいで機種変更したときにPasskeyを同期するのは現状ではできず、1Passwordのような外部パスワードマネージャを利用する必要があります。このあたりは、あともう少し、といったところでしょうか。
ウェブアクセシビリティ
2024年4月1日に、いわゆる「障害者差別解消法」の改正法が施行されます。この改正では、「合理的配慮」が民間事業者を含めて義務化されます。 これはIT業界にも影響があり、現時点で必ずしも法的にウェブアクセシビリティが義務化されたというわけではないものの、「環境の整備」として努力義務だという見方があります。ウェブアクセシビリティには国際規格(W3C WCAG)もJIS規格もあり、我らがデジタル庁からも「ウェブアクセシビリティ導入ガイドブック」が公開されています。
リアルイベント、カンファレンス、勉強会の再開
2023年からコロナ禍における様々な規制が緩和されたこともあり、様々なリアルイベント、特にカンファレンスやIT勉強会の現地開催が再開されました。 この本が属する技術系同人誌の分野でも、夏冬のコミケに加え、春秋の技術書典、技書博(技術書同人誌博覧会)といった様々なイベントが現地開催されました。この中でこのジャンルにおいて最も活発な技術書典については、だいぶ人の動きが戻ってきたように感じます。 当サークル「めもおきば」は、コミケ、技術書典、技書博の3つの場を活動機会と定めていますが、その3つはどれも特色が異なるというのもおもしろいところです。たとえば技書博では、著者と読者、サークル同士の著者間、著者とたとえば出版社の編集者など、様々なコミュニケーションをイベント全体で推進していました。 日常的なIT勉強会も、完全リモート、ハイブリッド開催から、配信無しの現地開催のものも頻繁に見られるようになりました。やはりコミュニティを活発にするための機会として、リアルでのコミュニケーションは無視できません。 その一方で、俗に「ただ飯おじさん」と恥ずかしい名前で呼ばれる、コミュニケーションに消極的なだけではない、明らかに行動が不審な人たちの行動が問題となっています。 またオンラインやハイブリッド開催であれば参加がしやすかった関東圏以外の参加者との距離感、という課題もコロナ禍によってより顕在化しています。 リアルイベントができるようになったのは非常に嬉しいことですが、こういった課題を解決していければ、より楽しく活発で発展的なコミュニケーションができるので、がんばっていきたいところです。