macOSでMLC LLMを使用する方法

macOSでMLC LLMを使用する方法

AIは世界を席巻しています。Google BardやChatGPTを使うこともできますが、Macでローカルホストされているものを使うこともできます。新しいMLC LLMチャットアプリの使い方をご紹介します。

人工知能 (AI) は、コンピュータ サイエンスの新たな最先端分野であり、コンピューティングの世界で大きな話題を呼んでいます。

チャットボット(ユーザーがドメインの専門家として会話できる AI ベースのアプリ)は、控えめに言っても人気が高まっています。

チャットボットは、幅広い分野(一般論から専門分野まで)について専門知識を持っているかのように見え、急速にあらゆる場所で導入されています。OpenAIというグループは、数ヶ月前にChatGPTをリリースし、世界に衝撃を与えました。

ChatGPTは、事実上あらゆるテーマについて無限の知識を有しており、通常であれば何時間も何日もかけて調査する必要がある質問にもリアルタイムで回答できます。企業と従業員の両方が、AIを活用することで調査時間を短縮し、業務をスピードアップできることに気づいています。

欠点

しかし、それらすべてを考慮すると、一部のAIアプリには欠点があります。AIの最大の欠点は、結果が依然として検証されなければならないことです。

AI は通常はほぼ正確ですが、誤った結論や結果につながる可能性のある誤ったデータや誤解を招くデータを提供する場合があります。

ソフトウェア開発者やソフトウェア企業は、「副操縦士」を導入している。これは、AIに関数やメソッドの概要を自動で記述させることで開発者のコ​​ード作成を支援し、開発者がそれを検証できる特殊なチャットボットである。

コパイロットは時間を大幅に節約できますが、誤ったコードを書く可能性もあります。Microsoft、Amazon、GitHub、NVIDIAはいずれも開発者向けにコパイロットをリリースしています。

チャットボットの始め方

チャットボットがどのように機能するかを、少なくとも大まかに理解するには、まず AI の基礎、特に機械学習 (ML) と大規模言語モデル (LLM) を理解する必要があります。

機械学習は、コンピューターに学習方法を教えるための研究開発に特化したコンピューターサイエンスの分野です。

LLMは本質的に自然言語処理(NLP)プログラムであり、膨大なデータセットとニューラルネットワーク(NN)を用いてテキストを生成します。LLMは、AIコードを大規模なデータモデルでトレーニングし、時間の経過とともにAIコードが「学習」することで機能します。つまり、入力データの精度に基づいて、特定の分野におけるドメインエキスパートになるということです。

入力データが多いほど(そして正確であればあるほど)、そのモデルを使用するチャットボットの精度と正確性は高まります。LLMもデータモデルでトレーニングする際に ディープラーニングを活用します。

チャットボットに質問すると、チャットボットは質問に関連するすべての主題についての学習と保存された知識に基づいて、LLM に最も適切な回答を照会します。

本質的に、チャットボットはトピックに関する事前計算された知識を持っており、十分に正確な LLM と十分な学習時間があれば、ほとんどの人よりもはるかに速く正しい回答を提供できます。

チャットボットを使用すると、自動化された博士号取得者チームが即座に利用できるようになります。

2023年1月、Meta AIは独自のLLMであるLLaMAをリリースしました。1か月後、Googleは独自のLLMであるLaMDAをベースにしたAIチャットボット「Bard」を発表しました。その後も、他の​​チャットボットが登場しています。

生成AI

最近では、法学修士課程(LLM)の一部の学生は、グラフィック、音楽、さらには書籍全体といったテキストベース以外のデータを生成する方法を学び始めています。企業は、企業グラフィック、ロゴ、タイトル、さらには俳優の代わりになるデジタル映画のシーンなどを作成するために、生成AIに関心を寄せています。

たとえば、この記事のサムネイル画像は AI によって生成されました。

生成 AI の副作用として、労働者は AI ソフトウェアによる自動化によって職を失うことを懸念するようになりました。

チャットボットアシスタント

世界初の商用ユーザー向けチャットボット(BeBot)は、2019年にBespoke Japanによって東京ステーションシティ向けにリリースされました。

iOS および Android アプリとしてリリースされた BeBot は、迷路のような駅構内のあらゆる場所への案内、荷物の保管と取り出し、インフォメーションデスクへの案内、電車の時刻、地上交通機関、駅構内の食べ物やお店の検索などをしてくれます。

市内の目的地まで最短時間で電車で行くには、どのプラットフォームに行けばよいのか、所要時間に応じて数秒で教えてくれます。

東京駅 - BeBotの本拠地。

東京駅 - BeBotの本拠地。

MLCチャットアプリ

機械学習コンパイル(MLC)プロジェクトは、Apache Foundation のディープラーニング研究者である Siyuan Feng 氏と Hongyi Jin 氏、そしてシアトルと中国の上海を拠点とする他の人々の発案によるものです。

MLCの背後にあるアイデアは、プリコンパイルされたLLMとチャットボットをコンシューマーデバイスとウェブブラウザに展開することです。MLCは、コンシューマー向けグラフィックス・プロセッシング・ユニット(GPU)のパワーを活用してAIによる結果と検索を高速化し、ほとんどの最新のコンシューマー向けコンピューティングデバイスでAIを利用できるようにします。

別のMLCプロジェクトであるWeb LLMは、同じ機能をウェブブラウザにもたらしますが、これは別のプロジェクトであるWebGPUに基づいています。Web LLMは特定のGPUをサポートするコードフレームワークに依存しているため、特定のGPUを搭載したマシンのみがサポートされます。

ほとんどの AI アシスタントはクライアント サーバー モデルに依存しており、サーバーが AI の重労働のほとんどを実行しますが、MLC は LLM をユーザーのデバイス上で直接実行されるローカル コードに組み込むため、LLM サーバーは不要になります。

MLCの設定

デバイス上で MLC を実行するには、プロジェクトと GitHub ページに記載されている最小要件を満たしている必要があります。

iPhoneで実行するには、6GB以上の空きRAMを搭載したiPhone 14 Pro Max、iPhone 14 Pro、またはiPhone 12 Proが必要です。また、アプリをインストールするにはAppleのTestFlightアプリをインストールする必要がありますが、インストールは先着9,000名様限定です。

64GBのストレージを搭載した2021年モデルのiPad(ベースモデル)でMLCを実行してみましたが、初期化できませんでした。iPad Proでは結果が異なる場合があります。

MLC-LLM GitHubページの指示に従って、ソースからMLCをビルドし、スマートフォンで直接実行することもできます。ソースを取得するには、Macにgitソースコード管理システムがインストールされている必要があります。

これを行うには、Mac の Finder で新しいフォルダを作成し、UNIXcdコマンドを使用してターミナルでそのフォルダに移動し、git cloneMLC-LLM GitHub ページにリストされているコマンドをターミナルで実行します。

https://github.com/mlc-ai/mlc-llm.gitそして、Return キーを押します。git は、作成したフォルダーにすべての MLC ソースをダウンロードします。

iPhoneで動作するMLC。使用するモデルのウェイトを選択またはダウンロードできます。

iPhoneで動作するMLC。使用するモデルのウェイトを選択またはダウンロードできます。

Macの前提条件のインストール

MacおよびLinuxコンピュータの場合、MLCはターミナルのコマンドラインインターフェースから実行されます。使用するには、いくつかの前提条件をインストールする必要があります。

  1. CondaまたはMinicondaパッケージマネージャー
  2. 自家製
  3. Vulkan グラフィックス ライブラリ (Linux または Windows のみ)
  4. git の大容量ファイルサポート (LFS)

NVIDIA GPUをお使いの場合、MLCの手順には、Vulkanドライバーをデフォルトドライバーとして手動でインストールする必要があると明記されています。NVIDIA GPU用の別のグラフィックライブラリであるCUDAは動作しません。

Macユーザーの方は、以前紹介したHomebrewパッケージマネージャーを使ってMinicondaをインストールできます。ただし、MinicondaはHomebrewの別のCondaパッケージであるminiforgeと競合する点にご注意ください。

したがって、Homebrew 経由で miniforge がすでにインストールされている場合は、まずそれをアンインストールする必要があります。

MLC/LLM ページの指示に従うと、残りのインストール手順はおおよそ次のようになります。

  1. 新しいConda環境を作成する
  2. gitとgit LFSをインストールする
  3. Condaからコマンドラインチャットアプリをインストールする
  4. 新しいローカルフォルダを作成し、LLMモデルの重みをダウンロードし、LOCAL_ID変数を設定します。
  5. GitHubからMLCライブラリをダウンロードする

これらすべては手順ページで詳しく説明されているので、ここでは設定の細部まで説明しません。最初は難しそうに思えるかもしれませんが、macOSのターミナルの基本操作さえできれば、ほんの数ステップで完了します。

LOCAL_ID ステップでは、ダウンロードした 3 つのモデル重みのいずれかを指すようにその変数を設定します。

モデルの重みは、AI 用の GitHub とも言える HuggingFace コミュニティ Web サイトからダウンロードされます。

ターミナルにすべてがインストールされたら、ターミナルでMLCにアクセスできるようになります。mlc_chat_cli

指示。

ウェブブラウザでMLCを使用する

MLC には Web バージョンの Web LLM もあります。

Web LLMバリアントはApple Silicon Macでのみ動作します。Intel Macでは動作せず、動作しようとするとチャットボットウィンドウにエラーが表示されます。

MLC ウェブ チャット ウィンドウの上部にはポップアップ メニューがあり、そこからダウンロードしたモデルの重みを選択できます。

モデルの重みを 1 つ選択します。

モデルの重みを 1 つ選択します。

Web LLM を使用するには、Google Chrome ブラウザ(Chrome バージョン 113 以降)が必要です。それ以前のバージョンでは動作しません。

Mac版のChromeメニューから「Chrome」->「Google Chromeについて」を選択すると、Chromeのバージョン番号を確認できます。アップデートが利用可能な場合は、「更新」ボタンをクリックして最新バージョンに更新してください。

更新後に Chrome を再起動する必要がある場合があります。

MLC Web LLM ページでは、次のコマンドを使用して Mac ターミナルから Chrome を起動することを推奨しています。

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-dawn-features=allow_unsafe_apis,disable_robustness

「allow_unsafe_apis」と「disable_robustness」は、不安定になる可能性のある実験的な機能の使用を許可する 2 つの Chrome 起動フラグです。

すべての設定が完了したら、 Web LLM Web ページのチャット ペインの下部にある [メッセージを入力]フィールドに質問を入力し、 [送信]ボタンをクリックします。

真のAIとインテリジェントアシスタントの時代は始まったばかりです。AIにはリスクもありますが、この技術は膨大な時間を節約し、多くの作業を削減することで、私たちの未来を豊かにしてくれるでしょう。