1 ポイント 投稿者 GN⁺ 2023-08-15 | 1件のコメント | WhatsAppで共有
  • Outlinesは、ニューラルネットワークによるテキスト生成のためのライブラリで、transformersライブラリのgenerateメソッドを置き換えるために、より柔軟に設計されています。
  • 開発者が、正規表現やJSONスキーマに従う出力を保証しながら、堅牢なインターフェースを構築するのに役立ちます。
  • このライブラリは、few-shot生成、ReAct、メタプロンプティング、エージェントなどをシンプルに実装できるよう、プロンプティングと実行ロジックを分離する堅牢なプロンプティングの基本要素を提供します。
  • Outlinesは、より広いエコシステムとの互換性を保つよう設計されており、可能な限り少ない抽象化を用いながら、制御フロー、条件分岐、カスタムPython関数、他のライブラリへの呼び出しと生成処理を組み合わせることができます。
  • すべてのモデルと互換性があり、次トークンのロジットを通じてモデルとインターフェースします。また、APIベースのモデルと一緒に使うこともできます。
  • このライブラリは、Jinjaテンプレートエンジンを基盤としたシンプルで強力なプロンプティングの基本要素、ガイド付き生成、高速な正規表現ガイド付き生成、JSONスキーマまたはPydanticモデルに従う高速なJSON生成、HuggingFaceのtransformersモデルとの統合を特徴としています。
  • OutlinesはPyPIで利用でき、pip install outlinesコマンドでインストールできます。
  • このライブラリでは、指定されたシーケンスが見つかった後に生成を早期停止したり、複数の候補の中から選択する形で補完を絞り込んだり、モデルに整数または実数のみを返すよう指示したりできます。
  • また、高速な正規表現ガイド付き生成と、Pydanticモデルに従う効率的なJSON生成も含まれています。
  • Outlinesは、「テンプレート関数」の中にテンプレートをカプセル化することで、プロンプトロジックと通常のプログラムロジックを分離し、プロンプトの作成と管理を容易にします。
  • このライブラリは、言語モデルが追加情報の取得やタスク実行のために外部関数を呼び出せるようにし、その関数の説明をプロンプトにエンコードします。
  • Outlinesはオープンソースで、Apache License 2.0の下でライセンスされています。

1件のコメント

 
GN⁺ 2023-08-15
Hacker Newsの意見
  • 言語モデルライブラリ(Language Model Libraries, LLMs)が100%有効なJSONを生成する方法に関する記事
  • LLMsは各トークンに対する確率分布を生成し、JSONパーサーが次に有効なトークンの一覧を提供
  • 語彙空間の一部をマスキングするアイデアと、効率的な時間ステップを取るライブラリについての議論
  • Llama2のようなベースモデルの有効性への疑問と、特定のユースケース向けに命令調整が必要かどうか
  • generate.regexに温度またはサンプリングパラメータが存在するかについての質問
  • GPT4はシステムメッセージで例を示すことで、ほとんどの場合に有効なJSONを返せるという記事への言及
  • ライブラリのメカニズムが評価されており、JSON以外の構造化入力が必要な作業への潜在的な利用についての関心
  • このようなライブラリが形式的経路計画(Formal path planning)で持つ可能性への関心
  • 複雑な出力形式を要求すると基本タスクの性能が低下する可能性があるという記事への言及。GPT-3.5とGPT-4のコード編集ベンチマークで確認されている
  • LLama.cppが先月、文法ベースのサンプリングを実装したという記事への言及
  • LLMによって生成された各トークンの後にロジットバイアスの「マスク」を更新し、次のトークンが有効なJSONトークンになれるようにする過程