
AIが最近できるようになった最も興味深いことの多くは、実は生成的な性質のものではありません。これらは意味検索やリランキングなどの技術で、言わばより安定した信頼性の高いユースケースです。企業や大企業が実際に活用できるものです。私はその側面に興味があります。私は公の場で学んでいます。ここに来て3年目になりますが、世界クラスの大規模言語モデルをどのように構築するのか、人々の様子を見ることができます。私自身もそれらを構築し、開発者コミュニティや企業顧客に言語モデルを使った問題解決方法やユースケースを教えています。
Jay Alammarは複雑なAIの概念を視覚化する才能で知られています。そう、彼は以前に有名な「イラストで見るTransformer」の記事を書いた人物です。現在、彼はCohere社でAI開発の最前線に立っています。「私がTransformerに興味を持ったのは、Jayのブログを読んだからです。今では彼と一緒に仕事ができて、彼は私のことを知っています。すごくクールですね」
このエピソードでは、以下のことを発見できるでしょう:
検索拡張生成(RAG)が、より信頼性の高い文脈を理解するAIの鍵となる可能性がある理由
企業がこの技術を使って競争優位性を獲得している実例
これらの進歩がもたらす倫理的影響と、業界がどのように対処しているか
Jayは現在、大規模言語モデルの実践的応用について企業や開発者コミュニティにアドバイスを行っています。Cohere社での教育者から業界のインサイダーへの移行が、AIに対する彼の視野をどのように広げたかについて掘り下げていきます。
Jayは、Cohere社のミッションについて説明し、番組の最後には彼の新しい自然言語処理に関する本について語ります。ぜひお楽しみください。
Cohere社に関して私を本当に興奮させるのは、皆さんが実際にラストマイルで人々を助けているLLM企業だということです。
そうですね、いくつかの異なる側面があります。言語モデルは、5年前にはソフトウェアが基本的にできなかったことを可能にする驚くべき進歩でした。そして非常に急速に、人々は事実の生成、例えば質問に答えるためにLLMを使いたいと思うようになりました。これがCohere社でRAG(検索拡張生成)に注目している主な理由の一つです。
検索拡張生成は今日、言語モデルの最も有用なアプリケーションであり、最も需要の高いものだと言えるでしょう。これは、言語モデルを追加情報で拡張するというアイデアです。そうすることで、より真実に近い形で質問に答えることができ、関連情報を提供できるデータソースにアクセスすることができます。つまり、モデルとその生成が、あなたに関連する特定のデータセットに基づいて、より事実に基づいた、より真実に近いものになるのです。
これは、モデルがすぐに答えを出すのではなく、システムが最初に検索ステップを行うケースです。これが最も単純な形ですが、私たちにはこれを次のレベルに引き上げるロードマップがあります。
技術的な側面では、検索に投資することが含まれます。つまり、生成の前に行われる検索です。これは埋め込みモデル、ランキングモデル、ランカーにまで及びます。ランカーは、既存の検索システムに言語モデルの知性を注入する最速の方法です。非常にシンプルな方法で機能します。既存の検索システムの後に1回のAPI呼び出しを行うだけです。その検索システムが生成したトップ100の結果を取り、単にその順序を変更します。「hmm、この30番目の結果が実際にこのクエリに最も関連性が高いので、1番目に持ってきましょう」というようにです。これにより、既存の検索システムが大幅に改善されます。最後に1回のAPI呼び出しを行うだけでです。
そして、引用のために調整された生成モデル、コンテキストで与えられたものに注意を払い、そのコンテキストから質問に答えるモデルもあります。
これらのモデルは一般的な問題解決ツールなので、人々はその上に構築するための追加のツールを必要としています。私たちはノートブックやコード例でサポートしていますが、最近デプロイしたもので最も重要なのはCohere Toolkitです。これは基本的に、過去2年間構築し洗練させてきたプレイグラウンドです。しかし、ツールの使用、マルチステップRAG、またはマルチステップツール使用に高度に最適化されています。モデルは質問を続け、最終的に複雑なタスクの答えを見つけるまでウェブやデータソースを検索することができます。人々が言語モデルに求める、単なる「ここに質問があります、答えを教えてください」や「ここにリクエストがあります、テキストを返してください」以上のものです。
人々に、LLMで今日可能なことの最先端のものを構築するための、本番環境に対応したウェブアプリケーションを提供できるのはとてもエキサイティングです。人々はダウンロードしてDockerに投げ込み、ツールを装備して、LLMで今日可能なことの最先端のものを構築することができます。
はい、私はこれをApple Vision Proに例えます。まずプラットフォームを構築する必要があり、そしてイノベーションが起こるためには多くの開発者の想像力が必要です。現在、ツールの最も興味深い使用例は何でしょうか?
私は、LLMの進化について考えるのが好きです。最初は「このモデルは書いたりチャットしたりできる」というものでした。そして、どのようにハルシネーション(幻覚)の問題を回避するかという課題がありました。検索拡張生成は、多くの企業や大企業が自社のデータとチャットする際に取り組む必要のある、おそらく最大のユースケースです。
Toolkitがそれを拡張し、自然な拡張または抽象化であることを本当に気に入っています。RAGでは、モデルがフォローアップの質問をすることができます。これがマルチステップRAGです。これはツール使用のアイデアに非常にうまく拡張されます。検索エンジンを使用したり、PostgreSQLデータベースやNotionを検索したりできますが、Notionを検索できるなら、なぜNotionに投稿したり、もう少し高度で洗練されたことをしたりできないのでしょうか?これは今日のソフトウェアで可能なことのまさに境界線上にあります。
ツール使用の最初の自然な拡張は、RAGを超えて、「これら3つの異なるソースから情報を取得してください。3つのデータセットがあります。HR関連の質問にはNotionを検索し、世界の知識に関する質問にはウェブを検索してください」というようなものです。モデルに3つか4つのソースを与え、どの種類の質問にどのソースを使用するかという知識を与えます。これが始まりです。
そして、モデルがコードを生成し、それをPython環境内で実行できるようになります。これにより、可視化やデータ分析などが可能になります。私たちは今日のプログラムでそのような例をいくつか実行しています。
非常に洗練された種類の言語モデルのアーキテクチャが登場し始めているのを見ています。エージェント型のものもあれば、あなたが言うように洗練されたツール使用の形態もあります。ドメイン特化型言語モデルを動的に微調整したり、SaaSとオンプレミス、さらにはモバイルデバイスなどの混合デプロイメントを行ったりしています。
これらすべてが無料で提供されるというのは少し神話的な感じがします。実際には、これを実現するためには多くの深刻なエンジニアリングが必要です。Cohereは人々がこのギャップを埋めるのを助けるために何をしていますか?
特に企業を考えると、Twitterで慎重に選ばれた例を見て、10回中6回は機能すると思うかもしれません。しかし、企業がこれらのアプリケーションを本番環境に投入するには、何が信頼できる動作なのかを本当に理解する必要があります。
そこで私たちが提唱しているのは、例えば、最初に取り組むべき最良のユースケースは何かということです。リランキングは、言語モデルを使用して最も信頼性が高く堅牢な最初のユースケースです。これを投入して、週末以内に本番環境に組み込むことができます。そして、期待通りの良い結果と劇的な向上を非常に迅速に得ることができます。
検索に投資することも重要です。言語モデルを単なるチャットや会話エージェントとして考えるのではなく、チャットを超えた生成、例える理化や抽出について考えてください。そして、生成を超えて、埋め込みの上に構築されるこれらの過小評価されているアプリケーション、例えば意味検索や分類などについて考えてください。
言語モデルとその幅広い能力を、単なる会話エージェント以上のものとして考えることは、使用するユースケースを考え、優先順位をつける良い方法です。そして、これらの能力の上に構築し続け、それらをどのように評価し、各企業内のチームがこれらのユースケースをどのように構築、デプロイ、評価するかを知ることができます。
Jayさん、Cohere社で何をされていますか?
私は公の場で学んでいます。ここに来て3年目になりますが、人々が世界クラスの大規模言語モデルをどのように構築するかを見ることができます。私自身もそれらを構築し、開発者コミュニティや企業顧客に言語モデルを使った問題解決方法やユースケースを教えています。
開発者会議に行って話をしたり、ガイドや記事、コード例を書いたりしています。LLMが次にどこに向かうのか、どのような新しいことを可能にするのかという魅力に従っています。
今日、トロントに80人の方々が来ていますが、誰に話をしているのですか?
一般的には、大規模言語モデルを使って構築している人々、ビルダーに話しかけています。私は誰もが理解できるように話を分かりやすくしようとしていますが、最新の検索拡張生成システムについて話すときは、もう少し先端的な内容に踏み込みます。
シンプルなRAGテンプレートは検索して生成するというものですが、私たちの素晴らしいRAGチームは、これらのシステムをどのように改善するかというロードマップを持っています。失敗点はどこにあるのか、生成側で失敗するのか、検索側で失敗するのかなどです。既存のRAGシステムを改善するためのいくつかの高度な検索拡張生成のステップについて話します。
これには、クエリの書き換えなどが含まれます。検索に送る正しいクエリは何か、例えばユーザーが書いた段落全体を送るのではなく、正しいキーワードは何かということです。これは、RAGシステムを劇的に改善し続ける一つの領域です。
また、フォローアップの質問をすることもできます。これはマルチホップRAGまたはマルチステップRAGと呼ばれます。システムがそれを行うことができます。
さらに、データソースをツールとして考え、言語モデルに「このタイプの質問はこのデータソースに向けるべきだ」と定義することもできます。これは現在、ルーティングと呼ばれることが多いです。どのソースがその情報を提供できるかをモデルが判断できるようにします。
そして、これがRAGを超えて次のツール使用へと拡張されます。これは、ソフトウェアと言語モデルで可能になる次のパラダイムです。これにより、モデルは言語モデルだけでは不可能な、劇的に優れた、より野心的なことを行うことができるようになります。
Jayさん、大規模言語モデルが登場してから2年経った今、あなたの考えはどうですか?
2、3年前、私はこのようなイベントに行って、なぜ言語モデルが興味深いのかを人々に説明していました。もはやそれをする必要はありません。人々はすでにある種の大規模言語モデルと何らかの形で関わりを持っています。開発者でなくても、誰もがLLMの力に触れたことがあると思います。これは技術にとって劇的な適応だと言えます。
そのため、私たちが認識を高める必要のあることは時間とともに変化しています。最初の頃は、私の講演は「言語モデルとは何か、なぜクールなのか」というものでした。今では他のことについて教育する必要があります。例えば、「モデルのパラメータにエンコードされた世界知識に頼って質問をするのではなく、検索拡張生成について考えるべきかもしれません」というようなことです。
また、AIを使って構築するためのより信頼性の高い多くの他のユースケースについても提唱しています。埋め込み、検索、リランキングなどです。また、会話やチャットを超えた生成、要約や抽出などについても考えています。
多くの開発者との私の会話は、「これらはLLMが可能にする様々な新しい能力のセットです。これらを問題解決のための新しいプリミティブとして考えてください。単なる一つのブラックボックス、テキストイン・テキストアウトのモデルとして考えるのではなく」というものです。これらの能力を分解し、そしてこれらのパイプラインやより知的なシステムを組み立てて、その上に構築するのです。
産業界では、おそらく2つの異なる仕事として、機械学習エンジニアとAIエンジニアが登場しているのが見えます。一方はモデルトレーニングレベルで問題解決を行い、そのモデルにアクセスできます。もう一方は、複数のLLM APIを連鎖させたり、既存のモデルを微調整したりするかもしれません。
実際には、あなたがそのバリューチェーンのどこにいるかによって大きく異なります。AIエンジニアになることの方がはるかにアクセスしやすくなっています。なぜなら、ソフトウェアエンジニアリングのバックグラウンドやデータサイエンスから来ることができ、実際のツールを構築して非常に迅速に結果を得ることができるからです。
その立場から来る場合、あなたが持っているツールはプロンプトエンジニアリングであり、おそらく微調整が2番目のものです。一方、機械学習エンジニアでモデルにアクセスできる場合、どれだけのコンピューティングリソースを持っているか、ベースモデルのトレーニングを継続できるのか、それとも単にフォローアップの微調整を行うのかということになります。例えば、モデルの指示調整を行っているのか、それともRLHFやDPOのような選好学習を行っているのかなどです。
確かに、あなたがどこから来たかによって大きく異なりますが、大多数の人々はプロンプト、おそらく少しの微調整からアプローチするアクセスを持つことになるでしょう。
興味深いですね。この分野は常に進化しています。数年前は、何百万ドルものお金が必要で、おそらくデータ取得と処理のパイプラインが必要でした。そこに多くの作業が費やされていました。昔は、APIの支払いが必要でした。Cohere社はそれを完全に変えました。今では、モデルをリリースしているので、商用ライセンスを支払えば、実際にモデルを使用でき、派生モデルを作成したり、モデルを微調整したりできます。
ドメイン固有のデータをローカルで微調整したり、一部をオンプレミスで、一部をモバイルで、一部をクラウドで実行したりするようなアプリケーションアーキテクチャを構築できます。Cohere社は、人々がこのようなエンドツーエンドのストーリーを構築するのを支援するために何をしていますか?
本当に、ビジョンは人々に柔軟性を与えることです。例えば、一部の企業は自社の問題に集中したいと考えており、デプロイメントを処理するLLMプロバイダーを求めています。これは、必ずしも内部で機械学習チームを構築したり、機械学習やデータエンジニアのチームを雇ったりすることなく、これらのモデルが可能にしている新しい機能を使って構築したい人々のカテゴリーです。
これは一つのカテゴリーの企業ですが、それはスペクトラムです。ソフトウェアの採用と同じように、多くの企業が独自のソフトウェアチームを雇っているのを見ます。他の企業は外部のソフトウェアに依存し、また他の企業はSaaSを使用しています。産業界にとって、AIを単にソフトウェアの拡張として考えることは有用なレンズです。
Cohere社がAIのデプロイメントオプションについて考える際、Cohereプラットフォームは、APIキーを取得して構築を開始し、プレイグラウンドやCoralを通じてモデルと対話する最も簡単な方法です。そして、次のレベルに進んで、SDKを使用し、コードで少し遊ぶことができます。
しかし、企業や大企業について話す場合、彼らは本当にデータプライバシーなどのことを気にします。そこで、プライベートデプロイメントが重要になります。モデルが実際にデータの場所に行くことができます。逆ではありません。
Cohere社のここでの焦点は複数のことにありますが、主要な側面の一つは、主要なクラウドすべてに存在することです。あなたのデータがどこにあっても、モデルはそこに行くことができ、これらのシステムを非常に簡単に構築できます。つまり、一つのクラウドや別のクラウドにリンクされているわけではありません。
これには、これらのプライベートデプロイメントの複数の形式も含まれます。例えば、独自の仮想プライベートクラウドで行うことも、Amazon BedrocksやOracleの生成AIサービスのようなサービスを通じて行うこともできます。つまり、あなたがどこにいて、どのように構築したいかに応じて柔軟性を提供しています。
そして、次のレベルは絶対的に研究用モデルのリリースです。これはこれらのシステムの最も進んだユーザー、これらのモデルを評価したり拡張したりする能力を持つ人々のためのものです。彼らはそのユースケースを評価し、次のレベルに進むために研究用の重みにアクセスできます。
業界はまだ多くのことを学ぶ必要があり、確かにいくつかの側面では簡単になっていますが、他の側面ではより難しくなっています。今では、これらのモデルは、投げかけられる多くの任意の問題を解決することができ、時間とともにますます高い割合で解決できるようになっています。また、以前のソフトウェアでは不可能だったことに取り組む可能性も示し始めています。
例えば、5年前や10年前には、現在のように優れた要約システムはありませんでした。チャットやその他のモデルも同様です。しかし、私は、ソフトウェアエンジニアリングのベストプラクティスをLLMを使った構築に取り入れることを強く提唱しています。LLMを使ったアプリケーションやパイプライン、エージェントのようなものを構築する場合でも、常にユニットテスト、ソフトウェアテスト、回帰テスト、フロー内のアサーションについて考えることが良いでしょう。
様々なフレームワークから、LLMを使用したアプリケーションのフローにこれらを組み込むアイデアがあります。ますます、ソフトウェアエンジニアリングのベストプラクティスや適切なテスト、システムの信頼性の確保から遠ざかるべきではありません。
非常に興味深いですね。私たちは常にユニットテストやソフトウェアエンジニアリングのベストプラクティスについて良いゲームを話してきましたが、現実はどうでしょうか。そして、これには2つの要素があります。
まず、基盤モデルがあるので、もはやデータサイエンティストを雇う必要はないという議論があります。例えば、銀行で働いていて、領収書をチェックしたい場合、コンピュータビジョンエンジニアを呼んでビジョンモデルを取り、微調整し、予測アーキテクチャ全体を構築していたでしょう。しかし今では、単に基盤モデルを使用できます。これらすべてを組み合わせることができます。推薦エンジンのようなものでさえ、おそらく将来的には基盤モデルがあるでしょう。
もう一つの視点は、ソフトウェアが少し神経科学のようになってきているということです。以前は、サーバーレスアーキテクチャがあり、洗練されていれば、アクターモデルを使用してエージェント型のソフトウェアシステムを構築することができました。しかし今、これは現実のものとなっています。私たちは、不可解な生きているシステムを構築し、プローブを入れて観察しているようです。誰一人として、それがどのように機能するかを本当に理解していません。これは興奮すべきことでしょうか、それともどう思いますか?
それは良い質問です。私は主に、この分野における好奇心によって駆り立てられています。それが私をAIと機械学習に非常に近づけたものであり、この新しい種類のツールについて私を駆り立て続けているものです。私たちが無生物がすることに慣れていないことをすることができ、それが個人レベル、企業レベル、経済レベル、そして希望的には種のレベルでどのような新しい機会を開くかということです。
それが私の導きのアンテナの一部ですが、その過程で、私たちが意識する必要のある多くのことがあります。その一部は、例えば、そこに入る私たちのバイアスです。多くの人々が、チャットできるこのソフトウェアを見始めたとき、最初に考えたのは、それにある程度の人格を割り当て、信頼することでした。新しい言語モデルに遭遇したとき、「あなたを開発した会社は何ですか?」「どのようなデータで訓練されましたか?」と尋ねる人々をまだ見つけることができます。これは、一貫性のあるテキストを生成するこのジェネレーターは、人間の心に類似しているかもしれないという認知バイアスを適用しているのです。
責任あるAIや倫理的AIについて意識し、これらのモデルについて考える様々な重要なアイデアについて、一般の人々にもっと認識を高める必要があります。NLPに近い人々は時々それについてもう少し多くの露出を持っていますが、これらの技術が今や一般の人々に触れているので、この認識がもっと広まる必要があると思います。
そうですね、その推論の線に対する最初の反応はそのようなものでしょう。
これの一部は不可解さだと思います。説明可能性技術を構築することはできますが、これらのものを説明することはできません。それは一種の事後的な作り話です。しかし、人間の脳も説明することはできません。私は心の理論を持っていて、それであなたが何をしているかを理解しようとしますが、それはほぼ確実に間違っています。言語モデルについて間違っているのと同じように。
これは新しい種類の世代間ギャップかもしれないと思います。コンピュータが登場したとき、私の祖母は何が起こっているのか全く理解できなかったでしょう。ある意味で、私は将来に対して自信を持っています。なぜなら、私たちは理解していませんが、この技術と共に育つ若い子供たちは学ぶでしょう。
その一部は単に素朴な新奇性効果だと思います。いくつかの失敗モードを見始めると、その幻想は崩れ始めます。しかし、私たちがこの技術について考え、それを統合する方法を学ぶだろうという将来に対して希望を持っています。
はい、絶対にそうですね。ハッカーコミュニティやテックコミュニティでより多くの人々がこれらのモデルの信頼できる動作に本当に関心を持つようになるにつれて、これらのフレームワーク、アイデア、ガードレールツールやLLMアサーションなどがこれらのパイプラインのフローに現れ始めているのが見えます。
はい、このAIハッキングエコシステムに存在する信じられないほどの活力、そして人々がビジネスモデルやアイデア、アプリケーションのタイプだけでなく、ベストプラクティスも見出していることは賞賛に値します。
解釈可能性に関するあらゆる研究は、引き続き魅力的で必要とされています。これらの実用的なツールと並行して行われるべきです。
このような技術がソフトウェア産業をどこに導いているかの可能性をすぐに見ることができます。人々が正しい概念、正しい理解、問題解決のための正しいプリミティブを構築し始めるのが早ければ早いほど、既存の仕事やプロジェクトでこれらを使用するのに適した位置に立つことができます。
これは、スマートフォンが爆発的に普及する前にモバイルアプリケーションに非常に早く投資した人々や、クラウドに早期投資した人々のようなものです。その傾向は非常に明確で、市場の既存の標準を劇的に破壊する可能性があります。早く投資すればするほど、次の機会と可能性の波を捉えるのに適した立場に立つことができます。
機械学習を始める人にどんなアドバイスをしますか?
学んだことを公の場で共有してください。あなたが快適な形式で、TwitterであれTwitterであれ、ビデオを作成するのであれ、SnapchatやTikTokのビデオを作成するのであれ、学んだことを共有してください。学んだことを共有することをインポスター症候群に妨げられないでください。
先月学んだばかりのことでも、共有する価値があります。なぜなら、あなたが始めたとき、それは intimidating でした。あなたはそれが何かを知りませんでした。そして、多くの人々は今もまだその心の枠組みにいます。
知識の呪いに屈して、「私はそれを知っているから、簡単に違いない」と考えないでください。自由に共有してください。あなたが学んだことを共有してください。たとえ、あなたが有用だと思ったウェブサイトのキュレーションリストを共有するだけでも、それは良いコンテンツです。あなたが学んだことを共有してください。
社会でのAIの使用について、最も懸念していることは何ですか?
注意を払うべき領域については多くの注目がありますが、その多くはまだ目に見えないか、あまり注目されていません。
今、多くの推薦システムは機械学習です。必ずしも生成AIではありませんが、人々の頭に入る情報の多くを制御しています。これらはソーシャルメディアの推薦システムです。使用するあらゆるアプリの推薦システムかもしれません。
これらは必ずしも次世代の生成AIではありませんが、非常に影響力があります。人々は毎日何時間もコンテンツを消費しており、その多くはこれらのアルゴリズムによって決定されています。これはAI安全性の観点から私の注意を引きます。
私が機械学習に転向するきっかけとなったのは、TensorFlowのオープンソース化でした。私はそれを機会として捉えました。オープンソースの機械学習は大きなものでした。
その時期はディープラーニングの台頭でした。これらのより深いモデルが、当時の大きな流行でした。ディープラーニングはしばらくの間、機能し始め、ソフトウェアに絶対に素晴らしいことをさせ始めました。
そこから言語モデルの台頭が本当に次のレベルに引き上げました。私は当時「The Illustrated Transformer」を書きました。それは論文でした。新しい形の注意機構でした。当時、いくつかのかなり人気のある注意モデルがありましたが、時間とともに論文とモデルの重要性が増し続けました。BERTが登場し、GPTが登場し、他のモデルが登場し、それらはますます大きくなっていきました。そして、それらはコンピュータビジョンを飲み込み、他の場所にも進出しました。
Transformerと言語モデルの台頭、そしてスケールがそれらに与える能力が少し驚くべきものであることは、私が魅力的だと思うことの一つです。そして、それはエコシステムの多くの人々を驚かせたと思います。
この大規模言語モデルの爆発的な普及により、多くの人々が初めてこれらに遭遇し始めています。これらは必ずしもこの分野の人々や研究者、あるいはソフトウェアエンジニアではありません。この分野に近くない人々が人工知能という言葉を聞くとき、彼らは「これは人間の心の形をしたソフトウェアだ」と考えがちです。チャットインターフェースもおそらくそう思わせるでしょう。
そして、彼らは「あなた自身について教えてください」「あなたはどのようなモデルですか?」「どのように訓練されましたか?」「どの会社があなたを訓練しましたか?」と尋ねようとします。私たちがこれらのモデルに初めて遭遇したとき、多くのことを帰属させがちです。
これらのモデルについて考える方法、どのように訓練されたのか、何が得意で何が不得意なのか、ソーシャルメディアで本当に素晴らしいスクリーンショットを作る慎重に選ばれたものは何か、そして実際に製品に組み込むことができる信頼性の高い動作は何かについて、認識を高める必要があります。
多くの人々はそれを難しい方法で学びます。彼らは何かを見て、「モデルはこれができる」と言い、それを行う製品を構築しようとします。そして、ケースの99%または95%で信頼性高くそれを得ることは非常に困難です。
私たちはこれらのことについて認識を高めようとしています。しかし、人々に生成的な部分だけに焦点を当てないようにも勧めています。AIができる最も素晴らしいことの多くと最近の発展は、表現側にもあります。
意味検索や分類など、これらの表現でできることがあります。これらは信頼性が高いだけでなく、特にビジネスアプリケーションや実世界のアプリケーションにおいて、信頼性の高いパフォーマンスを提供し、既存のシステムを非常に迅速に改善することができます。
そのため、人々がチャットモデルについて考えるとき、一歩下がってAIができることの全体像を見て、信頼性のレンズを通してそれを見ることが良いでしょう。
印象的なデモに遭遇するたびに、これは慎重に選ばれたものなのか、それとも信頼できる動作なのかを尋ねる必要があります。私たちは常にこの落とし穴に陥り続けています。
これは初めてのディープラーニングの熱狂ではありません。私たちは3年前までに自動運転車を約束されていました。2016年頃、おそらく6つの異なる自動車会社が2020年までに自動運転車を持つと言っていました。これは、以前のディープラーニングの熱狂の一つが起こったときです。
過去から学び、この技術が発展するにつれて、異なるユースケースに対して現実的なタイムラインを持つべきです。いくつかのユースケースでは、モデルは今すぐ準備ができています。他のものは後になります。これは、人々がこの技術が発展するにつれて構築すべき観察です。これは慎重に選ばれたものなのか、それとも信頼できる動作なのかを尋ねる目を持つべきです。
意味検索の古い考え方と、今日の人々が「単に大きなコンテキストウィンドウを持ち、言語モデルでは全てができる」と言っていることの間の連続体を概説してもらえますか?
それは素晴らしい指摘です。その参照は「Sentence-BERT」に対するものですね。これはNilsによって開発されました。人々がLLMを使って構築したい場合、複数のアプローチがあります。
この階層の最上位で構築することができます。そこでは、単に商用LLMの消費者として、プロンプトを送信してテキストを返すだけです。これは一つの方法です。
しかし、より深く掘り下げて、これらを使用するシステムのビルダーになることもできます。LLMのビルダーになりたい場合、私が人々にアドバイスする最大のことの一つは、埋め込みとそれでできることの感覚を持つことです。なぜなら、それはプロンプトエンジニアリングよりもエンジニアリングに近いからです。
これらの信頼できる動作の多くを得ることができ、意味検索はその最良の例の一つです。生成の将来においても、意味検索は非常に重要になるでしょう。検索拡張生成、そして検索拡張生成について話すとき、これは重要です。
埋め込みは意味検索を2つの方法で強化します。一つは密な検索のアイデアです。これは、テキストアーカイブがあり、アーカイブ内の各テキストの埋め込みがあるという場合です。クエリを受け取ったとき、それを埋め込み、最近傍を見つけるだけです。
これは過去3、4年間でBERT以来劇的に改善されました。標準的なBERT、つまりSentence-BERTではないBERTは、トークン表現とトークン埋め込みに焦点を当てています。しかし、検索に使用するには追加のトレーニングが必要です。これはSentence-BERT論文がもたらしたものです。これは、「これら2つの文は似ている」と「これら2つの文は似ていない」という対照的なトレーニングステップです。
そのような目的を考えるとき、一つの質問は「質問とその答えは常に意味的に似ているのか、それとも異なる可能性があるのか」です。実際に異なる可能性があります。そのため、検索のためのテキスト埋め込みに焦点を当てる場合、そのようなデータで追加的にトレーニングしたいと思うでしょう。そうすることで、クエリがその答えに近い埋め込み空間のポイントに落ちるようになります。
これらは、意味検索を改善する埋め込みに来た最適化です。これは、密な検索を使用した意味検索の最初の家族です。
もう一つの概念は、ランカーのアイデアです。これは通常、既存の検索システムに大規模言語モデルの知性を注入する最も簡単な方法の一つです。あなたは検索システムを持っています。構築するあらゆるアプリケーションには、おそらく検索コンポーネントがあるでしょう。必ずしも次のウェブ検索エンジンを構築する必要はありません。
大規模言語モデルをそこに組み込む最も簡単な方法は、「これが私の現在のシステムが提供した検索結果です。これらはトップ100の結果です」と言うことです。それらをランカーに渡します。ランカーは単にそれらの順序を調整します。検索クエリに関連して、それらの順序を再調整するだけです。
これは、言語モデルの知性を生成ステップ以外の方法で組み込む非常に簡単な方法です。これらを使って実際のシステムを構築することができます。
Cohere社は、埋め込みモデルとランキングモデル、そしてリランキングエンドポイントとモデルを通じて、両方を容易にすることを目指しています。これらは複数の言語に特化しています。
生成を行いたい場合、生成はいくつかの問題といくつかのユースケースを解決できますが、すべてではありません。それらは両方ともツールボックスの中のツールです。必ずしもすべてを置き換えるものはありません。
長いコンテキストウィンドウがある場合、例えばソフトウェアのドキュメントについて質問したいとします。1000の質問があり、質問するたびに全ドキュメントテキストをモデルに送信して処理させるのは本当に効率的でしょうか?
これは多くの無駄な計算のように見えます。なぜなら、同じものを何度も送信しているからです。これを簡単に検索拡張に置き換えることができます。埋め込みがそこにあり、テキストとその中の情報の意味を捉えています。そして、必要なときにそのテキストを取得するために使用できます。詳細な見方が必要なときに、その段階でモデルに提示できます。
そのため、生成から一歩下がってツールボックスにこれらのツールを構築したい場合、これは私がLLMのビルダーに提唱する素晴らしい方法の一つです。LLMで構築を始めたい場合は、意味検索エンジンを構築することをお勧めします。なぜなら、埋め込みでできることと意味検索ができることについての心的敏捷性を持つことで、後々多くのドアが開かれるからです。単にプロンプトを送信し、テキストを変更し、モデルに世界最高の詩人だと伝えて、より良い詩を引き出そうとするだけではありません。
この分野での教育者としてのあなたの役割について話していただけますか? これほど多くの教育リソースを作成することにそれほど多くの努力を注ぐ動機は何ですか? LLM Universityについても話していただけますが、それだけではありません。あなたは何年もこれをしてきました。なぜこれが重要だと思いますか?
私は何かを説明しようとするときに、はるかに多くのことを学びます。論文を読むことはできますが、説明しようとしなければ、おそらく10%か20%しか本当に理解できません。しかし、詳細に説明しなければならない場合、あなたの脳の一部は「これを公開して間違っていたくない、確認しよう、この文を再確認しよう」と考えます。
そして、何かを重要なアイデアだと特定したとき、それについて本当に良い感覚を持つ必要があります。書くことと教育することの一つの結果は、私自身がより深く学ぶことです。
そして、これらのことを理解するのを助けてくれた人々への感謝の気持ちから生まれます。他の人々の素晴らしいブログ投稿、これらの非常に複雑なアイデアを一般の人々に非常に思いやりのある方法で説明した人々、その分野で非常に進んでいることを期待せずに説明した人々、そして分野内の人々です。
私自身が機械学習を学ぶとき、例えばAndrej Karpathyのブログは素晴らしかったです。RNNによるテキスト生成を初めて理解したのは、Andrej Karpathyの「The Unreasonable Effectiveness of Recurrent Neural Networks」というブログ投稿だったと思います。
Andrew Traskも素晴らしいものを書いていました。「11行のコードでニューラルネットワーク」というものでした。もし全体の概念を11行のPythonコードに凝縮できるなら、それは本当にニューラルネットワークの理解が進んだときです。
Chris Olahも、LSTMsについていくつかの本当に良いブログ投稿を書いていました。そして、現在の同僚のLuis Serrano氏は、YouTubeで物事を説明する素晴らしい動画を持っています。畳み込みニューラルネットワークは理解するのが難しかったのですが、彼の説明は非常に役立ったと思います。
だからこそ、LLM Universityのようなものは私にとって本当に特別なものです。なぜなら、彼や他の素晴らしいクリエイターであるAmoroと協力する機会があるからです。Amoroはディープラーニングについての視覚的な入門書を作成しました。これらは、物事を説明することと説明、そして物事をシンプルにすることについて本当に深い感覚を持っている、私のお気に入りの機械学習教育者の一部です。
LLM Universityは、私たち3人の協力です。「大規模言語モデルについて学びたいですか? ここに必要な主要な概念があります」と非常にアクセスしやすい視覚的な方法で提供します。また、Cohereの Discord で質問に答えることもできます。資料を読んでいて質問がある場合、喜んでそれらの質問に答えます。
リリースは始まりに過ぎません。私たちはそのためのコンテンツを作り続けています。Luis Serrano氏は本当に素晴らしいです。彼は私にとって実際にインスピレーションでした。彼の多くの動画を覚えています。特に協調フィルタリングについての動画は、あなたが言ったように素晴らしい視覚化でした。私は常にそのようなコンテンツを作ることを目指してきましたが、それには特定の種類の才能が必要だと思います。彼は本当に素晴らしいです。
同様に、あなたは興味深いことをしました。Josh Starmerの StatQuest や Luis Serrano のように、非常に構造化された教育的なコンテンツを作る人々がいました。あなたが「The Illustrated Transformer」で行ったのは、それを行いつつ、より深く掘り下げたことです。
そこにある深さは、私が理解したかった深さです。それが一つの要素です。なぜなら、単にアーキテクチャを説明することはできますが、他の詳細には触れません。しかし、私は多くの主要な概念を理解したかったのです。
実際、いくつかのことは著者自身から来ました。私が原稿を持っていた後、著者たちに送って「これについてどう思いますか? 何か修正点はありますか?」と聞きました。彼らは実際に非常に良いフィードバックをくれました。彼らはいくつかの新しいセクションを書くことに焦点を当てました。例えば、残差接続についてのセクションはなかったと思います。それは著者からのフィードバックの後に came したものです。
これは私が提唱するもう一つのライフハックです。論文を書いて説明することを提唱する際、その資料を著者に送ってください。彼らのメールアドレスは論文に記載されています。あなたは彼らの仕事を宣伝するという恩恵を与えることになり、彼らから本当に良いフィードバックを得ることができます。
私の目標は、本当に深いレベルで理解することでした。当時、私は Udacity で働いていたので、コードのレベルまで説明し、それに似たモデルを訓練する人々に説明する必要がありました。そのため、これを実際に開発したいと思っている学生が知る必要のある上位10から15の概念を本当に理解する必要がありました。すべてではありませんが、それはあなたをその道に導くでしょう。
あなたの AI を説明する多くの仕事は、ビジュアルやグラフィック、インタラクティブな要素に依存しています。なぜそれが重要だと思いますか? そして、ビジュアルやインタラクティブな要素は、単なるテキストや数式では得られない直感をどのように構築できますか?
それはいくつかのことを行います。まず、多くの情報を素早く伝えます。私たちは視覚的な理解に対して信じられないほどの帯域幅を持っています。テキストではおそらく同じことを提供できません。一目で非常によく設計された概念図に入れることができる帯域幅の量は、人々に本当に役立つことが分かりました。
しかし、それには他の効果もあります。非常に素早くスキャンできます。多くの人々が最初に記事を読み始めるとき、まだ読むことを完全に決意していません。私が行うことは、記事をスキャンして、見出しや画像を確認することです。画像のリストを見ることは、誰かが行う最初の読み取りのようです。それが何らかのアイデアを与えるだけで、より深く掘り下げる自信を少し構築します。
また、何かを読んでいるときに楽しいと感じます。テキストの単調さを、1、2段落読んだ後に視覚的な要素を与えることで破ります。これは、複数のチャンネルで情報を受け取る一種の報酬システムのようです。テキストを読むことと視覚的な要素を見ることの間で、あなたのシステムと集中力を破ることになります。
これらは作るのが難しく、多くの反復が必要です。あなたが見る各画像は、通常、その画像の6番目か7番目の反復です。それ自体が思考プロセスでもあります。なぜなら、通常、私が作成する最初の画像は間違っていたり、不十分だったり、問題があったりするからです。そして、それを作成した後にのみ、他のアイデアをそれに接続することができます。
多くの場合、最終的なものに到達したいと思いますが、画像を作成することは、論文や概念を理解するための私の思考プロセスの一部なのです。
理解したい概念ごとに本当に良い説明を見つけることができる未来を本当に楽しみにしています。それらはあなたの学習スタイルにより近いものです。
私が書くとき、異なる聴衆について考える必要があります。専門家、専門家ではない人、機械学習論文は本当に超専門家を少し前進させるだけです。それがその仕事です。しかし、説明を書いている場合、一般の人々をフロンティアまで連れて行きたいと思います。しかし、500語でそれをどのように行うのでしょうか? それはほぼ不可能です。
そこで、異なる抽象化レベルに分解することを考えます。一般の聴衆は最初の3分の1を理解できるかもしれません。そして、その後に精神的な段階があり、専門家はそこから読み続けることができますが、あなたのバックグラウンドが何であれ、少し深く理解して出発することができます。
しかし、期待していなかった専門用語や、専門家でない場合に威圧的に感じる数式の壁、あるいはプログラマーでない場合に解析しなければならない多くのコードブロックに遭遇することはありません。複雑さをできるだけ遅らせようとし、これらすべての聴衆をそのプロセスで念頭に置くようにしています。
どのようにしてこれらすべてについていけるのですか? あなたのお気に入りのコミュニティや情報源は何ですか?
確かに難しいです。機械学習は非常に速く進歩します。そして今、ここ数ヶ月は、技術、ビジネス、一般の人々のあらゆる分野からさらに多くの注目を集めています。
しかし、キュレーションに焦点を当て、特定の分野に本当に集中することが重要です。私は主にTwitterを消費しますが、フォローしている人々からの投稿のみです。推奨されたものではありません。そして、フォローする人々を非常に慎重にキュレーションします。
多くは学習のためで、特にNLPのためです。NLPだけでもキャッチアップするのは信じられないほどの仕事です。強化学習やコンピュータビジョンなど、他のことにあまり集中する機会がありませんでした。しかし今、NLPは世界を飲み込み、大規模言語モデルはどこにでも進出しています。
残酷になり、これらの信号を投票メカニズムとして使用することが重要です。タイムラインで論文が3回、4回、5回出てくるのを見たら、それは過去に良い信号を提供してくれた人々からの一種の社会的証明です。これは私にとってこれまで有用な方法でした。
次に何が来ますか? Transformerの主な限界は何だと思いますか? そして、それらに代わるものは何でしょうか?
少なくともアーキテクチャ研究においては、ある種の収束があるようです。過去1、2年間、アーキテクチャの大きなジャンプはありませんでした。
エンジニアリング側ではまだまだできることがたくさんあります。人々はこれらのものを使って、はるかに多くの種類のアーキテクチャ、システム(モデルではなく)を構築することができます。生成モデルがあり、それが一つの生成ステップを行い、次に検索ステップを使用し、次に別のプロンプトで何かを行うようなシステムを考えてみてください。既存のシステムで行えるアプリケーションの宇宙は、まだ始まったばかりです。表面をなぞり始めたところです。
私は、多くのエンジニアリングがキャッチアップし、製品、そしてビジネスモデルがモデルの開発に追いつくのを見ることができると思います。
しかし、次の課題は、一度インターネットのデータをすべて取得したら、どこからデータを得るかということです。どのようにしてさらに優れたモデルを訓練するのでしょうか? そのために、マルチモダリティのようなアイデアは興味深いです。身体化や社会的相互作用も同様です。これらのモデルが世界での社会的相互作用から情報を得ることができるでしょうか?
ガレージにいる誰かが、Transformerを置き換えたり、訓練されたTransformerを分解してノートパソコンで動作するような神経象徴的アーキテクチャのようなものにすることはできるでしょうか?
確かに、量子化によってこれらのモデルはどんどん小さくなっています。微調整は、非常に大きなモデルの振る舞いの一部をより小さなモデルで得る別の方法です。
ハードウェアやチップメーカーの多くがTransformerアーキテクチャ特有のことを考え、それらのチップでよりよく動作するようにしているのが見られます。エッジでさえも。Arduino LLamaというものがありませんでしたか?
ハッカーコミュニティは、これらのものを縮小し、エッジやより多くの種類のデバイスにデプロイするという点で、信じられないほどの仕事をしているようです。それはとても興味深いことです。
あなたが書いたこの記事は、2017年のVaswaniらの時代のものでした。あなたは「The Illustrated Transformer」を書きました。それは翻訳のためのもので、エンコーダ-デコーダでした。その後の年月で、何が時間の試練に耐えてきましたか?
それは本当に良い流れですね。そうです、それはエンコーダ-デコーダでした。現在、最も支配的に使用されている言語モデルの形式は、テキスト生成モデルです。これは少なくとも、人々にそれらを説明する良い出発点です。
焦点はエンコーダ-デコーダモデルではなく、テキスト生成デコーダモデルのみにあります。これによって単純化され、ここで学ぶことは他のものに変換されるでしょう。これがそれを説明する一つの方法です。
その後、アーキテクチャにはさまざまな改善が提案されましたが、時間の試練に本当に耐えてきたいくつかのものがあります。例えば、位置エンコーディングのようなものです。RoPE(Rotary Position Encoding)のような位置エンコーディングです。
また、注意ネットワークと注意レイヤーの効率性に関するものもあります。グループクエリ注意のようなものとそれがどのように機能するかです。
他にもいくつかの小さな違いがありますが、これらが過去6、7年間で変化した主要な3つの領域の一部かもしれません。
興味深いですね。何か高レベルの洞察はありますか? 例えば、GPT-2を一から再構築するとしたら、何層必要でしょうか? アーキテクチャについて人々が持つことができる洞察はありますか?
多くの洞察があると思います。アーキテクチャに関するものもありますが、多くは実際には変わっていません。データと、データをどのようにキュレーションすべきか、そしてトレーニングフェーズに関する洞察がより多くあります。
これらのモデルの改善をどこで本当に次のレベルに引き上げることができるかについて、多くの焦点があると思います。
トレーニングの3つのステップがあります。言語モデリングはこれら3つのステップの最初のものに過ぎません。次に監督付き微調整または指示調整があり、その後に選好または強化学習からのヒューマンフィードバック(RLHF)があります。
これらのさまざまなステップにわたって、より高品質のデータを持っていればいるほど、それだけ良くなります。これらは、アーキテクチャ自体よりもはるかに大きな役割を果たす傾向があります。アーキテクチャは全体的に、5年前や7年前とほぼ同じままです。
Jayさん、あなたが書いている本について教えてください。
はい、「Hands-On Large Language Models」がO’Reillyから出版される予定です。私の共著者のMartin Honersと私は、Transformer言語モデル、LLMsー般について書いています。アプリケーションにそれらを使用する方法が本の大きな部分を占めています。
ソフトウェアエンジニアやデータサイエンティスト、LLMsを使用したい人のために、さまざまなユースケースにわたってそれについて広範に話しています。
また、これらのモデルがどのように内部で機能するか、どのように構築されるかについても掘り下げています。一つ含まれているのは、「The Illustrated Transformer」の更新版です。これは私のブログで何百万人もの人々が読んだブログ投稿ですが、それは約7年前のものでした。
Transformerを再訪し、今どのように説明するか、この期間に何が変わったかを見るのは非常に興味深かったです。
2024年8月に印刷版が出ることを期待しています。気に入っていただけることを願っています。また、出版されたらフィードバックをいただけると嬉しいです。
このような本を書くとき、基礎的な研究をどのように行いますか?
ここで役立つのは、アプリケーションについて考えていることです。アプリケーションは、業界で見られるユースケース、人々が構築するユースケース、開発者エコシステムで見られるユースケースによって形成されます。
これが主要な部分を形成します。なぜなら、私たちは開発者、データサイエンティスト、その他のLLMビルダーの幅広い層のための本を書いているからです。
最先端や理論的なことに非常に深く入り込む必要はありません。適用されているもの、多くのユースケースがあるもの、何度も試されて実際の業界で採用が増えているものに焦点を当てることができます。
これにより、ユースケースの選択が非常に容易になりました。
素晴らしいですね。すでにこの本のいくつかの章をリリースしていますね。人々はどこでそれを見つけることができますか?
はい、O’Reillyプラットフォームには早期リリースプログラムがあります。本の5、6章がすでに早期リリースでO’Reillyプラットフォームにあると思います。
誰でもO’Reillyに行ってサインアップし、その本にアクセスすることができます。9月のリリース日まで、さらに多くの章が継続的にリリースされていきます。
本のタイトルは何ですか?
「Hands-On Large Language Models」です。
O’Reillyの本を書く上で魅力的な側面である動物は何ですか?
私たちの動物はカンガルーです。選ぶことはできません。O’Reillyはそれを選ぶための非常に秘密の方法を持っています。私たちの本の表紙にカンガルーが登場することをとても嬉しく思っています。
素晴らしいですね。Jayさん、本当にありがとうございました。
ありがとうございました。
コメント