2024/7/30
laprasdrum.icon 7月終了まであと2日
/icons/hr.icon
WarpにiTerm2のHotkeyを実装する
ちょっと触ってみてWarpのAI補完が使いやすかったので、個人開発機はWarpに移行中。
iTerm2で重宝していた(それ故他ターミナルに移行できてなかった)機能が、Hotkeyで表示非表示を切り替えられる、いわゆるQuakeモード(上半分ではなく全画面表示だが)。 https://scrapbox.io/files/66a839aba71a07001dbbde37.png
WarpにはこのQuakeモードがないのでどうしようかなと考えていたが、触り続けるうちにWarpに本格移行したい熱量が上がってきた。
アプリケーションにないのならKarabinerに自作ルール作ってHotkey作ればいいやとなり、サクッと実装してみることに。
必要な情報は
WarpのBundle Identifier
ショートカットキーの定義
Bundle Identifierは mdls で取得できた。
code:find_bundle_identifier.sh
mdls -name kMDItemCFBundleIdentifier -r /Applications/Warp.app
ショートカットキー定義は以下の2つを作成。
Ctrl + Space押下時、ForegroundにWarpがなければ表示 or 起動する
open /Applications/Warp.app を実行
出来上がったのがこちら。
https://scrapbox.io/files/66a83c29b0a76f001cd0d7ed.png
以下スクリプト。
code:showWarp.json
{
"description": "Launch/show Warp if it is not in foreground",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^dev\\.warp\\.Warp-Stable$"
],
"type": "frontmost_application_unless"
}
],
"from": {
"key_code": "spacebar",
"modifiers": {
"mandatory": [
"control"
]
}
},
"to": [
{
"shell_command": "open '/Applications/Warp.app'"
}
],
"type": "basic"
}
]
}
code:hideWarp.json
{
"description": "Hide Warp if it is in foreground",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^dev\\.warp\\.Warp-Stable$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "spacebar",
"modifiers": {
"mandatory": [
"control"
]
}
},
"to": [
{
"key_code": "h",
"modifiers": [
"command"
]
}
],
"type": "basic"
}
]
}
これで問題なく動作したので満足。iTerm2ともお別れ。
このスクリプトも別端末で使えるように共有方法考えないと。
ここまで完了してWeb巡回始めたら何やら面白そうなエディタを見つけた。
Commitまでやってくれるのすごい。
Aider works best with GPT-4o & Claude 3.5 Sonnet and can connect to almost any LLM.
設計指針をこちらがうまく言語化して伝えられれば、テストコードもプロダクトコードも期待値に近いものを生成してくれるのかも?
ちょっと試してみよう。
Apple Intelligenceの言語モデル解説
Appleから論文が出ていたのでClaudeに要約させた。 はい、この論文を要約し、詳しく説明させていただきます。
要約:
この論文は、Appleが開発した2つの大規模言語モデル(AFM-on-deviceとAFM-server)について説明しています。これらのモデルは、AppleのiOS 18、iPadOS 18、macOS Sequoiaに統合された「Apple Intelligence」システムの基盤となるものです。
AFM-on-deviceは約30億のパラメータを持つデバイス上で動作するモデルで、AFM-serverはより大規模なサーバーベースのモデルです。これらのモデルは、効率的で正確、かつ責任ある方法で幅広いタスクを実行するように設計されています。
論文では、モデルのアーキテクチャ、トレーニングに使用されたデータ、トレーニングプロセス、推論のための最適化方法、そして評価結果について詳細に説明しています。また、責任あるAI開発への取り組みについても強調しています。
詳細な説明:
1. モデルアーキテクチャ:
両モデルはTransformerアーキテクチャをベースにしていますが、いくつかの重要な改良が加えられています。例えば、入出力の埋め込み行列の共有、Pre-Normalization、Grouped-query attention (GQA)などが採用されています。これらの改良により、モデルの性能と効率が向上しています。
2. トレーニングデータ:
モデルのトレーニングには、ライセンス取得済みの出版物データ、キュレーションされた公開データセット、Applebotと呼ばれるウェブクローラーで収集した公開情報などが使用されています。重要なのは、ユーザーのプライバシーを保護するため、Appleユーザーの個人データは一切使用していない点です。
3. トレーニングプロセス:
トレーニングは「core」「continued」「context-lengthening」の3段階で行われています。各段階で異なるデータミックスと学習率を使用し、モデルの性能を段階的に向上させています。
4. 最適化:
モデルを効率的に動作させるため、量子化や蒸留などの技術が適用されています。特に、LoRA (Low-Rank Adaptation) アダプターを使用することで、モデルの一部だけを特定のタスクに合わせて微調整できるようになっています。
5. 評価結果:
論文では、AFMモデルが多くのベンチマークテストで他の著名なモデル(GPT-3.5、GPT-4など)と同等かそれ以上の性能を示していることが報告されています。特に指示に従う能力、数学的推論、コーディングなどの分野で高いスコアを獲得しています。
6. 責任あるAI:
Appleは「Responsible AI principles」を定め、モデルの開発全体を通してこれらの原則を適用しています。例えば、ユーザーのプライバシー保護、偏見やステレオタイプの排除、有害なコンテンツの生成防止などに注力しています。
7. 応用:
AFMモデルは、メールや通知の要約、テキスト生成、コード生成など、様々なタスクに活用されています。各タスクに特化したアダプターを使用することで、1つの基本モデルから多様な機能を実現しています。
この論文は、AppleがAI分野で大きな進展を遂げていることを示すものです。特に、デバイス上で動作する大規模言語モデルの開発は、プライバシーとパフォーマンスのバランスを取る上で重要な意味を持ちます。また、責任あるAI開発への取り組みは、今後のAI技術の健全な発展に向けた重要な指針となるでしょう。
Apple Foundation Models (AFM) の概要と意義
1. 背景と目的:
Apple Intelligence システムの中核技術として開発
iOS 18、iPadOS 18、macOS Sequoia に統合予定
ユーザーの日常タスクを効率化・最適化することが主目的
2. 主要モデル:
a) AFM-on-device:
約30億パラメータ
デバイス上で直接動作(プライバシー保護に貢献)
効率的な推論を実現
b) AFM-server:
より大規模なパラメータ数
Private Cloud Compute を通じてサーバー上で動作
より複雑なタスクや大規模処理に対応
3. 技術的特徴:
a) アーキテクチャ:
Transformer をベースに改良
共有入出力埋め込み行列
Pre-Normalization with RMSNorm
Grouped-query attention (GQA)
SwiGLU 活性化関数
RoPE 位置エンコーディング
b) トレーニングプロセス:
Core、Continued、Context-lengthening の3段階
各段階で異なるデータミックスと学習率を使用
c) 最適化技術:
量子化: 4ビット以下/重みを実現
知識蒸留: 大規模モデルから小規模モデルへ知識転移
LoRA (Low-Rank Adaptation): タスク特化型の効率的な微調整
4. データセット:
ライセンス取得済み出版物データ
キュレーションされた公開データセット
Applebot による Web クロール情報
ユーザーの個人データは不使用(プライバシー保護)
5. 評価結果:
-指示追従能力: IFEval、AlpacaEval 2.0 で高スコア
数学的推論: GSM8K、MATH ベンチマークで競合モデルを上回る
コーディング: HumanEval-Py、MultiPLE-Swift で高い性能
総合評価: GPT-3.5、GPT-4 と同等以上の性能を多くのタスクで実現
6. 責任ある AI 開発:
a) 主要原則:
ユーザーのエンパワーメント
多様性の尊重と代表性の確保
慎重な設計と有害性の回避
プライバシー保護
b) 具体的な取り組み:
安全性タクソノミーの開発(12カテゴリ、51サブカテゴリ)
人間によるフィードバックを活用した強化学習 (RLHF)
レッドチーミング: モデルの脆弱性を積極的に探索・改善
7. 応用例と機能:
メール、メッセージ、通知の要約
テキスト生成・編集支援
コード生成・補完
数学問題解決
質問応答・情報検索
8. 技術的イノベーション:
iTeC (Iterative Teaching Committee): 複数のアルゴリズムを組み合わせた RLHF フレームワーク
MDLOO (Mirror Descent with Leave-One-Out): 新しいオンライン強化学習アルゴリズム
Accuracy-recovery adapters: 量子化による精度低下を効率的に回復
9. 今後の展望と課題:
より長いコンテキスト長への対応(現状 24k トークンが限界)
タスク特化型アダプターのさらなる最適化
新しい応用分野の開拓(例: マルチモーダル AI)
継続的な安全性とプライバシー保護の強化
10. 業界への影響:
オンデバイス AI の新たな基準を確立
プライバシーを重視した AI 開発のモデルケース
大手テクノロジー企業間の AI 競争を加速