本文へスキップ

BoFire

BoFire は、混合変数、制約、分子表現、反復的な候補選択に対応する、実験計画とベイズ最適化のための Python フレームワークです。

掲載情報の更新 ·

概要

BoFire(Bayesian Optimization Framework Intended for Real Experiments、実実験向けベイズ最適化フレームワーク)は、実験空間を定義し、次に実施する実験を選択するための Python ツールキットです。README では、反応、配合、デジタルツイン、閉ループ最適化が想定用途として挙げられています。単一目的と多目的のベイズ最適化に対応し、基盤となるベイズ最適化には BoTorch を使用します。これは最適化ワークフローを構築するためのフレームワークであり、単独で動作する予測モデルではありません。

問題は、入力特徴量、出力特徴量、目的関数、および任意の制約を Domain にまとめて表現します。ドキュメントに記載されている変数型には、連続、離散、カテゴリ型があります。目的関数は出力とは別に定義され、最小化、最大化、または目標値への近接を指定できます。実験レコードは候補の入力値と測定または評価された出力を組み合わせたものです。戦略はそのレコードを使い、提案する候補設定を返します。README では、SoboStrategy、qLogEI、および Himmelblau 関数を使った反復的な tell/ask ループにより、このワークフローを例示しています。

化学分野向けの機能には、分子エンコーディングとカーネルが含まれます。README によると、実装済みの分子カーネルは GAUCHE に由来します。問題、戦略、サロゲートのシリアライズ可能な定義は、RESTful ワークフローとの統合を支援します。また、LLMStrategy は問題の説明と過去の実験を言語モデルのコンテキストとして用い、候補を提案します。

例では数学関数を評価します。物理実験の実施とその結果の提供は、別個のワークフローステップです。オプションの依存関係グループは、最適化、ケモインフォマティクス、LLM の各機能を区別しています。このプロジェクトのバージョニング方針では、BIGRELEASE および MAJOR リリースで公開 API に後方互換性のない変更が許容されるため、選択したリリースに対して統合内容を確認してください。

主な機能

  • 連続、離散、カテゴリ型パラメーターを含む混合空間を表現し、目的関数を出力特徴量とは別に定義できます。
  • 最小化、最大化、目標値指向の目的関数を含む、単一目的および多目的のベイズ最適化に対応します。
  • 個別制約と汎用制約、ブラックボックス出力制約、制約付きサンプリング、制約を順守する実験計画を提供します。
  • 分子種を対象とする最適化に使用できる化学エンコーディングと分子カーネルを備えています。
  • 問題定義、最適化戦略、サロゲートをシリアライズして RESTful 統合に利用できます。
  • `LLMStrategy` により、記述された問題の説明と過去の実験から候補を提案できます。また、ドキュメントに記載された `tell`/`ask` 最適化ワークフローにも対応します。

用途

  • 想定される評価:連続的な操作条件とカテゴリ選択肢を含む反応最適化キャンペーンを構成し、記録された実験結果に照らして提案候補を評価する。
  • 想定される評価:制約付き配合設計を探索し、選択した測定特性に対する単一目的戦略と多目的戦略を比較する。
  • 想定される評価:代表的な実験データセットを用いて、分子種の候補選択における分子エンコーディングとカーネルの適用性を評価する。
  • 想定される評価:シリアライズされた最適化定義を閉ループサービスに統合し、測定結果を戦略に渡して次の候補を取得する。

使い方

  1. インストールガイドを参照し、想定するワークフローに応じて依存関係を選択してください。README では、基本的なベイズ最適化と、オプションのケモインフォマティクスおよび LLM 機能が区別されています。選択したリリースの要件を確認してください。
  2. README の例に従って、入力特徴量とその範囲、出力特徴量、目的関数を定義します。これらを Domain にまとめ、問題に適した制約を追加してください。
  3. 初期候補を準備し、測定またはシミュレーションによる出力を取得します。生成される実験レコードがドメイン定義と一致するよう、入力と出力の識別子を統一してください。
  4. 最適化戦略を選択します。例では qLogEI を用いる SoboStrategy を使用します。既存の実験を tell で渡し、ask で候補を取得します。候補を外部で評価し、その結果を返してください。
  5. サービスとの統合については、データモデルと関数ガイドを参照してください。実験室のワークフローに接続する前に、代表的なデータを用いてシリアライズと最適化ループを評価してください。

関連リソース

BayBE

オープンソース

BayBE は、定義済みの探索空間、目的、測定結果に基づいてパラメーター設定を推奨する、ベイズ実験計画用の Python ツールボックスです。化学分野を考慮したワークフローや多目的ワークフローにも対応します。

オープンソースPython

ラボ自動化 · プロセス最適化

Gryffin

オープンソース

Gryffin は、カテゴリ型および連続値とカテゴリ値の混合実験設計空間を対象とする Python ベイズ最適化フレームワークで、バッチ推奨と物理化学記述子に対応しています。

オープンソースPython

ラボ自動化 · プロセス最適化

Olympus

オープンソース

Olympus は、ノイズを含む最適化と実験計画のベンチマークに用いる Python フレームワークです。混合パラメータ領域、実験ベンチマーク、解析的テスト関数、および共通のプランナーインターフェースを備えています。

オープンソースPython

ラボ自動化 · プロセス最適化

Phoenics

オープンソース

Phoenicsはベイズ最適化とベイズカーネル密度推定を組み合わせ、実験または計算のパラメータを提案します。逐次、バッチ、多目的のワークフローに対応しています。

オープンソースPython

ラボ自動化 · プロセス最適化

Summit

オープンソース

Summitは、化学反応の最適化に用いるPythonツールキットです。最適化戦略、シミュレーションによる反応ベンチマーク、実験条件を評価するための閉ループワークフローを組み合わせています。

オープンソースPython

ラボ自動化 · プロセス最適化

Benchling MCP (longevity-genie) は、API認証情報を使用してAIクライアントをBenchlingのノートブック項目、生物学的配列、プロジェクト、エンティティ検索に接続するPython製MCPサーバーです。

オープンソースPython

ラボ自動化 · 科学データ

関連ガイド

スキル

化学AI Skillsとは?研究エージェントの手順モジュールを理解する

化学AI Skillsを再利用可能な手順モジュールとして理解します。`SKILL.md`に何が含まれるか、ホストが指示をどう読み込むか、SkillsがMCPやエージェントとどう異なるか、そして指針を科学的検証と混同せずに選択、組み合わせ、評価する方法を説明します。

スキル

化学・材料科学のAI Skills:RDKit・Datamol・ASE・Phonopyほか

化学・材料分野の AI Skills 10 種を、科学的な役割、依存関係、入力、出力、ライセンスの適用範囲から比較し、分子解析、NMR 処理、フォノン、平衡計算、反応分子動力学の後処理に向けた範囲を限定した評価を計画します。