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::LlmCallRecord;
pub use record::Record;
pub use record::RecordStream;
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::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::LearningDaemon;
pub use daemon::ProcessResult;
pub use daemon::Processor;
pub use daemon::ProcessorConfig;
pub use daemon::ProcessorError;
pub use daemon::ProcessorMode;

Modules§

daemon
Learning Daemon - 継続的学習プロセス
episode
Episode - 学習の基本単位
learn_model
LearnModel - 学習の統合モデル
lora
LoRA Module - LoRA学習・適用
offline
Offline Learning - セッション間学習の分析・最適化
record
Record - 生イベントの抽象化
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 の共有参照型