cockscomblog?

cockscomb on hatena blog

WWDC24予言

今年も書いておく。

AI

今のAppleに最も期待されているトピックであり、Google I/OMicrosoft Buildなどで競合他社が最も力を入れているのがAI。当然WWDC24でも、「AI」という語が飛び交うことになる。

「AI」という語を使い始めたApple

Appleは2024年5月のスペシャルイベントでLogic Pro*1とFinal Cut Pro*2のアップデートを発表したが、そこでは機械学習を活用した機能を「AI機能」と宣伝するようになった。これは例えば、Apple Watchのダブルタップジェスチャーでは「機械学習アルゴリズム」と表現していた*3のと比べると、わかりやすい変化である。

とはいえWWDC24では、AIの中でもとりわけLLMを含む生成AIについて発表されるだろう。ここで、Appleのプライバシー重視の姿勢とどう折り合いをつけるかというのが一つの焦点になる。

オンデバイスクラウドの分担

現在の高性能なLLMを、iPhone/iPad/Macなどのオンデバイスでそのまま動作させるのは、Appleをもってしても不可能だろう。基本的には規模と性能は相関関係にある。もちろんフットプリントを小さくするテクニックはあるし、ハイエンドのMacである程度のものを動かすのは可能だろうが、ごく一部の環境でしか利用できないのでは仕方ない。必然的に高性能のLLMをクラウドで動作させ、オンデバイスでは小規模な言語モデルでも精度の出るタスクを行わせることになる。

例えば、端末内のデータを高性能になったSiriが読み取って応答する、というようなRAGを応用した機能を考える。このとき、端末内のデータのEmbeddingを計算するのはオンデバイスのマルチモーダルなモデルが行い、端末内のベクトル検索エンジンに保存する。高性能になったSiriはクラウド上で動作し、必要に応じて端末内のデータを検索する。検索で類似度の高いと判定されたデータは、端末内で要約され、その結果がクラウドで処理されてSiriの応答になる。

つまり端末内のモデルはEmbeddingの計算と要約タスクだけを行う。こうすると、クラウドに送信されるのは応答に必要な最小限のデータに絞られ、プライバシー上の問題が軽減される。Appleは例えiCloudでデータを同期していても、データをエンド・ツー・エンドで暗号化してクラウド上では復元できないように扱うことが多いため、データ自体をオンデバイスで扱うのが自然だ。

このくらいの仕組みでも、例えばSafariの履歴をSiriで参照するようなことができるだろう。Embeddingや要約は比較的小規模なモデルでも精度が保たれる。

SDKから見たAI

他にもAIに関連した新機能が出てくるものと思われるが、基本的にはオンデバイスで処理するものが多いのではないか。開発者向けのSDKという観点から見ると、オンデバイスで動作するAI機能は、SDKとして公開しやすい。一方でクラウド上で動作する大規模なAIは、現在のWeatherKitがそうであるように、別途何らかの課金体系が定められる可能性がある。

visionOS

もう一つ、WWDC24で重要なトピックになるのは、visionOSのアップデートだろう。この真新しいプラットフォームは、まだ実験的な位置付けというのが実情だ。

アメリカ国外での発売

現在はまだApple Vision Proが米国でしか販売されていないため、visionOSも国際化が行われていない。しかし今年後半には米国外での販売が開始されることが事前にアナウンスされているため、WWDC24ではvisionOSの国際化が発表されるだろう。それがvisionOS 2を待たなければならないのか、あるいはvisionOS 1.2なのか、まだはっきりとしない。

機能の拡充

visionOSは、iOS/iPadOSをベースとしているだろうことから、初期のリリースから一定の品質、機能を持っている。それでも、例えばアプリ一覧を並び替えることができないとか、未完成さを感じさせる部分もある。visionOS 2ではそういったギャップが埋められていくはずだ。

実用上は、ウインドウマネジメントの進歩があると便利だろうと思う。空間の中で自由にウインドウを置けるのは、今ある大きなメリットだが、実際にやってみると、もう少し何か制約がある方が便利だろうと想像される。例えば、ウインドウを物理的な壁にスナップできれば、現実世界との認知的な不協和が起きにくくなるだろうと思う。

空間WidgetKit

本質的に、visionOSの空間コンピューティングはあまり拡張現実的ではない。現実を拡張するというよりは、単に現実の空間内でコンピューティングしている状態だ。これはもう少し機能が拡充されてほしい。Apple Vision Proをわざわざ装着しているからこそ得られる現実の拡張が必要だと思う。例えばWidgetKitが追加されて、壁にウィジェットを貼り付けておけるとか、それくらいでもいい。Apple Vision Proを着けていれば壁が情報のダッシュボードになる、というのは拡張的だと思う。

空間コンピューティング対応アプリ

空間コンピューティングを活かしたアプリが増えるような仕組みがあってもよい。例えばAppleKeynoteは、visionOS専用のリハーサルモードを持っていて、まるで壇上にいるような体験ができる。これは空間コンピューティングを活かした好例だ。しかしKeynoteの他のPagesやNumbersは、まだiPad版が動作するだけだ。Logic ProやFinal Cut Proのようなツールは、空間を活かしたUIを想像しやすいと思う。SwiftUIに空間を活用したUIを作りやすくするような改善が行われるとおもしろいが、想像し難いところでもある。

空間MapKit

同じ理由で、MapKitは空間を活かすのに向いている。そもそも地図が表す現実の世界は立体的だし、MapKitも特に米国内のいくつかの都市では非常にリアルな立体地図で描写できる。

端末間での連携

また端末間の連携についても機能の向上を期待したい。すでにMacの画面のミラーリング機能を備えているが、これをiPadにも拡張したり、あるいはMacの画面であっても単なるミラーリングではなく、Apple Vision Proでは3Dコンテンツを表示できるような、そういった拡張があると嬉しい。あるいは、テキストの入力を連携したiPhoneから行えるとか、そのような機能があってもいい。こういった端末間の連携はAppleの得意とするところでもあるはずだ。

開発ツール

Xcode

XcodeにもAI機能が搭載されることはあまり疑う余地がない。Xcode自体に、AppleがファインチューニングしたXcode AIが搭載される可能性もある。あるいは、Xcodeの拡張の仕組みが改善され、GitHub Copilotが自然に動作するようになるかもしれない。

XcodeについてはSwift Playgroundに導入されている新しいプロジェクト形式の方にも期待がある。

Swift

Swiftは今年秋のSwift 6で大きく変化する。Concurrencyに関連して、データ競合を避けるための言語上の機能がデフォルトで有効になり、データ競合の発生し得るパターンがコンパイラで検出されるようになる。もちろんコンパイラ自体の解析も新たな言語仕様でより親切になり、よりセマンティックに行われるようになる。Swift 6には他にも、ジェネリクスなどに関しての大きめのアップデートもあって、いい年になりそうだ。

SwiftUI

Swift Concurrencyといえば、SwiftUIのConcurrencyをサポートする部分はもう少し便利になってほしい。ReactにSuspenseがあるように、非同期に得られるデータに依存したViewが書きやすくなる仕掛けがあると便利そうだ。

iOS/iPadOS

iOSとパーソナライズ

最近のiOSでは、パーソナライズに関する機能が増えていっている。ロック画面の変化はわかりやすい例だ。WWDC24でもパーソナライズに関連した機能が拡充される可能性は十分にある。iOSがパーソナライズ機能を充実させていることの裏を返すと、要するにiOSが純粋に成熟しているということなのだろう。

iPadOSとプロフェッショナル

iPadOSについても、ライトウェイトなタブレットのOSとしては限りなく成熟している。プロフェッショナル向けのアプリの不足に対しては、Apple自身もLogic ProやFinal Cut Proを開発したし、AdobePhotoshopIllustratorをリリース済み、DaVinci ResolveもiPad向けにリリースされている。もちろん現実的には多くのプロフェッショナルがMacを手放せないにせよ、一定の成果が出ているということにはなる。

iPadOSでのソフトウェア開発

開発者としてはiPadで本格的なソフトウェア開発ができる未来を待ち遠しく思うが、そこはMacを使えばいいということのようにも思う。とはいえ例えばVirtualization.frameworkをiPadOSでも動作させるような方法で、iPadでソフトウェア開発する未来がひらけてほしいとは思う。macOSのVirtualization.frameworkはかなり進歩していて、macOS/Linuxを動作させられる。あるいはVirtualization.frameworkではなく、Linuxカーネルにあるようなコンテナ技術をDarwinにも搭載し、「Darwin Container」のようにしてもいい。サンドボックスと一定の自由を両立させることは不可能ではない。

サイドローディング

サイドローディングについては、2024年3月にEUの規制に合わせて大きく状況が動いた。とはいえあくまでもEUに限定された状況であることには変わりない。このシチュエーション自体は今後も続くのだろうと思われ、法制度で求められれば地域を限定して制限が緩和されるということになるのかと思う。

これはApp Storeのビジネス的側面を考えると、そういうものとしか言いようがない。Apple営利企業だ。といっても、例えばWebKit以外のブラウザエンジンについてはEUに限定しなくてもよいのではないかと思う。WebKitのシェアが落ちて、ブラウザエンジンの寡占化が進むことに対する懸念はあるが。


ということです。