jekyll-hyde-demo / config /learning.yaml
benjamin5607's picture
Add safety_eval deps for Space
a835d2f verified
Raw
History Blame Contribute Delete
3.14 kB
# Continuous learning configuration for Jekyll & Hyde
paths:
interactions: data/learning/interactions.jsonl
curated: data/learning/curated_train.jsonl
rejected: data/learning/rejected.jsonl
state: data/learning/state.json
quality:
min_assistant_chars: 80
min_quality_score: 0.65
require_markdown: true
reject_leak_patterns:
- "^model$"
- "<start_of_turn>"
- "Hyde test probe:"
- "RESPONSE TEMPLATE"
- "KEY CONCEPT"
- "SAMPLE ANSWER"
- "USER QUERY:"
- "Policy Analyst Role"
auto:
curate_after_each_turn: true
merge_dataset_on_curate: false
train_when_curated_reaches: 20
train_min_interval_hours: 6
train_epochs_incremental: 2
train_base: gemma2-2b
auto_train_enabled: true
adapter_only: true
feedback:
upvote_boost: 0.35
downvote_reject: true
diet:
enabled: true
semantic_threshold: 0.92
embedding_model: BAAI/bge-small-en-v1.5
embedding_index: data/learning/embedding_index.json
max_total_records: 2000
category_caps:
quant: 400
policy: 500
duel: 300
chat: 800
mcp_tools: 250
persona_caps:
jekyll: 800
hyde: 600
neutral: 1200
quantize:
export_gguf_after_train: true
gguf_quant: q4_k_m
prune_old_gguf: true
# Gray-zone reinforcement: duel β†’ extract zones β†’ dual synthesis β†’ curated training
gray_reinforce:
enabled: true
synthesize_solutions: true
use_llm_synthesis: true
auto_curate: true
min_zones: 1
max_zones_per_duel: 8
# RLAIF gate β€” verification API score before auto-curation (prevents hallucination loops)
rlaif:
enabled: true
min_score: 85
# Distilled gray-zone rule memory (RAG injection + eviction preservation)
memory:
enabled: true
inject_on_query: true
distill_on_evict: true
max_entries: 500
retrieve_k: 3
min_similarity: 0.55
consolidate_after: 40
consolidate_similarity: 0.88
consolidation_enabled: true
paths:
rules: data/learning/memory_rules.jsonl
# LoRA MoE β€” dynamic jekyll/hyde adapter blend
lora_moe:
enabled: true
quantize_step: 0.05
bucket_cache: true
buckets:
- { jekyll: 0.9, hyde: 0.1 }
- { jekyll: 0.7, hyde: 0.3 }
- { jekyll: 0.5, hyde: 0.5 }
- { jekyll: 0.3, hyde: 0.7 }
- { jekyll: 0.1, hyde: 0.9 }
# MCP structured tool-calling training bucket (high priority in data diet)
mcp_training:
enabled: true
priority_boost: 0.35
# Dynamic decoding β€” MoE blend ratio β†’ temperature / top-p / min-p
decoding:
dynamic_entropy: true
link_to_moe: true
jekyll_temperature: 0.15
jekyll_top_p: 0.85
jekyll_min_p: 0.08
hyde_temperature: 0.35
hyde_top_p: 0.92
hyde_min_p: 0.05
blend_temp_min: 0.2
blend_temp_max: 0.78
blend_top_p_min: 0.88
blend_min_p_min: 0.06
# Grammar-constrained MCP JSON tool output at decode time
grammar:
mcp_tool_json: true
# DPO preference alignment from curated vs rejected (RLAIF pairs)
dpo:
enabled: true
prefer_over_sft: true
min_pairs: 2
beta: 0.1
epochs: 1
dataset_path: data/learning/dpo_pairs.jsonl