Skip to main content

Module learn

Module learn 

Source
Expand description

Learn Module - 学習系 Domain の分離

§設計思想

Engine (Core) と Learn の責務を明確に分離する。

  • Core (Engine): ActionEvent を発行、基本統計を管理
  • Learn: ActionEvent を受け取り、学習パターンを分析

§Model Layer

Model (base)
  ├── Scorable      → 行動選択に使用(UCB1, Thompson, Greedy)
  └── Parametric    → 戦略設定に使用(Orchestrator初期化)

§モデル種類

モデル責務生存期間
LearnedModel行動選択スコア(遷移、N-gram等)1セッション
OptimalParamsModelパラメータ最適化(ucb1_c等)複数セッション

§LoRA

LoRA学習・適用は lora モジュールで管理。

  • LoraTrainer: LoRA学習の実行
  • TrainedModel: 学習済みLoRAアダプタ
  • ModelApplicator: llama-server への適用

Re-exports§

pub use stats_model::param_keys;
pub use stats_model::Model;
pub use stats_model::ModelMetadata;
pub use stats_model::ModelType;
pub use stats_model::ModelVersion;
pub use stats_model::OptimalParamsModel;
pub use stats_model::ParamValue;
pub use stats_model::Parametric;
pub use stats_model::Scorable;
pub use stats_model::ScoreContext;
pub use stats_model::ScoreModel;
pub use stats_model::ScoreQuery;
pub use stats_model::StatsModelId;
pub use snapshot::merge_snapshots;
pub use snapshot::FileSystemStorage;
pub use snapshot::LearningSnapshot;
pub use snapshot::LearningStore;
pub use snapshot::MergeStrategy;
pub use snapshot::SessionId;
pub use snapshot::SnapshotKey;
pub use snapshot::SnapshotMetadata;
pub use snapshot::SnapshotStorage;
pub use snapshot::TimeSeriesQuery;
pub use snapshot::Timestamp;
pub use snapshot::SNAPSHOT_VERSION;
pub use offline::ActionOrderSource;
pub use offline::LearnedActionOrder;
pub use offline::OfflineAnalyzer;
pub use offline::OfflineModel;
pub use offline::OptimalParameters;
pub use offline::RecommendedPath;
pub use offline::StrategyConfig;
pub use record::ActionRecord;
pub use record::DependencyGraphRecord;
pub use record::FromRecord;
pub use record::LearnStatsRecord;
pub use record::LlmCallRecord;
pub use record::Record;
pub use record::RecordStream;
pub use record::StrategyAdviceRecord;
pub use episode::Episode;
pub use episode::EpisodeBuilder;
pub use episode::EpisodeContext;
pub use episode::EpisodeId;
pub use episode::EpisodeMetadata;
pub use episode::EpisodeTrait;
pub use episode::Outcome;
pub use training::ConversationData;
pub use training::ConversationRole;
pub use training::ConversationTurn;
pub use training::TrainingData;
pub use training::TrainingFormat;
pub use training::TrainingMetadata;
pub use store::DefaultEpisodeRepository;
pub use store::EpisodeDto;
pub use store::EpisodeFilter;
pub use store::EpisodeMeta;
pub use store::EpisodeRepository;
pub use store::EpisodeStore;
pub use store::FileEpisodeStore;
pub use store::FileLoraStore;
pub use store::FileRecordStore;
pub use store::InMemoryEpisodeStore;
pub use store::InMemoryLoraStore;
pub use store::InMemoryRecordStore;
pub use store::LoraModelStore;
pub use store::ModelFilter;
pub use store::ModelMeta;
pub use store::OutcomeFilter;
pub use store::RecordFilter;
pub use store::RecordId;
pub use store::RecordMeta;
pub use store::RecordStore;
pub use store::RecordStoreError;
pub use store::StoreError;
pub use store::TrainedModelDto;
pub use store::TrainingMetricsDto;
pub use learn_model::DependencyGraphLearnModel;
pub use learn_model::DpoConfig;
pub use learn_model::DpoLearnModel;
pub use learn_model::DpoPair;
pub use learn_model::LearnError;
pub use learn_model::LearnModel;
pub use learn_model::WorkerDecisionSequenceLearn;
pub use learn_model::WorkerTaskLearn;
pub use trigger::AlwaysTrigger;
pub use trigger::AndTrigger;
pub use trigger::CountTrigger;
pub use trigger::ManualTrigger;
pub use trigger::NeverTrigger;
pub use trigger::OrTrigger;
pub use trigger::QualityTrigger;
pub use trigger::TimeTrigger;
pub use trigger::TrainTrigger;
pub use trigger::TriggerBuilder;
pub use trigger::TriggerContext;
pub use trigger::TriggerError;
pub use trigger::TriggerMetrics;
pub use lora::ApplicatorError;
pub use lora::LlamaServerApplicator;
pub use lora::LlamaServerConfig;
pub use lora::LoraModelId;
pub use lora::LoraTrainer;
pub use lora::LoraTrainerConfig;
pub use lora::LoraTrainerError;
pub use lora::ModelApplicator;
pub use lora::NoOpApplicator;
pub use lora::TrainedModel;
pub use lora::TrainingMetrics;
pub use daemon::ActionEventSubscriber;
pub use daemon::Applier;
pub use daemon::ApplierConfig;
pub use daemon::ApplierError;
pub use daemon::ApplyMode;
pub use daemon::ApplyResult;
pub use daemon::DaemonBuilder;
pub use daemon::DaemonConfig;
pub use daemon::DaemonError;
pub use daemon::DaemonStats;
pub use daemon::DataSink;
pub use daemon::DataSinkError;
pub use daemon::DataSinkStats;
pub use daemon::EventSubscriberConfig;
pub use daemon::LearningDaemon;
pub use daemon::LearningEventSubscriber;
pub use daemon::ProcessResult;
pub use daemon::Processor;
pub use daemon::ProcessorConfig;
pub use daemon::ProcessorError;
pub use daemon::ProcessorMode;
pub use facade::LearnableSwarm;
pub use facade::LearnableSwarmBuilder;
pub use facade::LearnableSwarmConfig;
pub use session_group::LearningPhase;
pub use session_group::SessionGroup;
pub use session_group::SessionGroupId;
pub use session_group::SessionGroupMetadata;
pub use learned_component::ComponentLearner;
pub use learned_component::LearnedComponent;
pub use learned_component::LearnedDepGraph;
pub use learned_component::LearnedExploration;
pub use learned_component::LearnedStrategy;
pub use component_learners::DepGraphLearner;
pub use component_learners::ExplorationLearner;
pub use component_learners::StrategyLearner;
pub use scenario_profile::BootstrapData;
pub use scenario_profile::ProfileState;
pub use scenario_profile::ProfileStats;
pub use scenario_profile::ScenarioProfile;
pub use scenario_profile::ScenarioProfileId;
pub use scenario_profile::ScenarioSource;
pub use profile_store::ProfileStore;
pub use profile_store::ProfileStoreError;
pub use scenario_registry::RegistryError;
pub use scenario_registry::ScenarioRegistry;
pub use scenario_registry::TaskMatcher;
pub use profile_adapter::migrate_offline_model_to_profile;
pub use profile_adapter::offline_model_to_components;
pub use profile_adapter::profile_to_offline_model;
pub use profile_adapter::ProfileToOfflineModel;

Modules§

component_learners
ComponentLearner 具体実装
daemon
Learning Daemon - 継続的学習プロセス
episode
Episode - 学習の基本単位
facade
Learnable Swarm Facade - 学習機能付き Swarm の統合ファサード
learn_model
LearnModel - 学習の統合モデル
learned_component
LearnedComponent - 学習結果の型安全な抽象化
lora
LoRA Module - LoRA学習・適用
offline
Offline Learning - セッション間学習の分析・最適化
profile_adapter
ProfileAdapter - ScenarioProfile と OfflineModel の統合
profile_store
ProfileStore - ScenarioProfile の永続化
record
Record - 生イベントの抽象化
scenario_profile
ScenarioProfile - 永続的に改善されるシナリオの実体
scenario_registry
ScenarioRegistry - マルチシナリオ管理
session_group
Session Group - 複数セッションをまとめる単位
snapshot
Learning Snapshot - 学習データの永続化システム
stats_model
Stats Model Layer - 行動選択用統計モデル
store
Store Module - 永続化レイヤーの Clean Architecture 実装
training
TrainingData - LoRA 学習用データ形式
trigger
TrainTrigger - 学習開始条件の判定

Structs§

ConfidenceMapProvider
HashMap<String, f64> ベースの静的 Provider
ContextualActionStats
コンテキスト条件付きアクション統計
EpisodeTransitions
エピソード遷移統計
LearnStats
学習用統計の集約
LearnStatsProvider
LearnStats と ScoreModel を一体管理する Provider
NgramStats
N-gram 統計(3-gram, 4-gram パターン学習)
NullProvider
ボーナスを返さない Null Provider
ScoreModelProvider
ScoreModel を使った Provider 実装
SelectionPerformance
Selection 戦略効果測定(Meta-learning)
StrategyStats
戦略ごとの統計
StrategySwitchEvent
戦略切り替えイベント

Enums§

LearningQuery
学習データへのクエリ
LearningResult
クエリ結果

Traits§

LearnedProvider
学習済みデータへのアクセス Provider

Type Aliases§

SharedLearnedProvider
Provider の共有参照型