@SleepyLGod for current observation π /cur
This project implements and evaluates a comprehensive end-of-sequence (EoS) prediction system for large language models (LLMs). The system explores multiple approaches to predict how many tokens remain in a generation sequence at any given step, enabling more efficient text generation, resource planning, and scheduling optimization.
The project encompasses three main methodologies:
The system provides comprehensive tools for data generation, model training, evaluation, and analysis across multiple model architectures and datasets.
dsGenEbd.py - Generates embedding-based training data from LLM hidden statesdsGenLogitsAS.py - Generates logits-based training data with attention samplingdsGenLogitsBS.py - Generates logits-based training data with beam searchdsGenLogitsNC.py - Generates logits-based training data with nucleus samplingdsGenDraft.py - Generates draft attention-based training datadatasetInit.ipynb - Dataset initialization and preprocessing notebook/cur/predictors/)ebdModelGenFinal.py) - Enhanced MLP training on embeddingsresultTest.py) - Comprehensive evaluation pipelinegraphsModified.py) - Statistical analysis and plottingerrorProfileGen.py) - Step-0 error analysis and profilingerrorRatioEvol.py) - Error ratio evolution throughout generationsysParaRank.py) - Decoding parameter ranking and optimization/cur/signalObs/)/cur/PETest.py)/cur/preview/)requirements.txt.python-version)# Create and activate virtual environment
python3 -m venv .env
source .env/bin/activate
# Install dependencies
pip install -r cur/requirements.txt
# Install appropriate PyTorch version for your system
# Visit https://pytorch.org/get-started/locally/ for instructions
cd cur
# Generate embedding-based training data
python dsGenEbd.py
# Generate logits-based training data (choose one approach)
python dsGenLogitsAS.py # Attention sampling
python dsGenLogitsBS.py # Beam search
python dsGenLogitsNC.py # Nucleus sampling
# Generate attention-based training data
python dsGenDraft.py
cd cur/predictors
# Train the length predictor
python ebdModelGenFinal.py
# Evaluate the trained model
python resultTest.py
# Generate comprehensive analysis
python graphsModified.py
python errorProfileGen.py
python errorRatioEvol.py
python sysParaRank.py
cd cur/signalObs
# Single attention map analysis
python mapTest.py
# Parameter impact testing
python parameterRangeTest.py
# Attention signal detection
python valueTest.py
# Automated batch testing
./autoTest.sh
./longRun.sh
cd cur
# Test prompt-based length prediction
python PETest.py
/cur
βββ predictors/ # Length prediction module
β βββ ebdModelGenFinal.py # Neural network training
β βββ resultTest.py # Model evaluation framework
β βββ graphsModified.py # Results visualization and analysis
β βββ errorProfileGen.py # Error profile analysis
β βββ errorRatioEvol.py # Error evolution tracking
β βββ sysParaRank.py # Parameter optimization
β βββ idChecking.py # Utility for ID validation
β βββ used_prompt_ids.txt # Training data exclusion list
β βββ saved_models/ # Trained model checkpoints
β βββ results/ # Analysis results
β βββ eval_output/ # Advanced analysis outputs
β βββ logs/ # Training logs
β βββ README.md # Module documentation
β
βββ signalObs/ # Attention map observation
β βββ mapTest.py # Attention map generation
β βββ valueTest.py # Attention signal detection
β βββ parameterRangeTest.py # Parameter impact analysis
β βββ graphsCount.py # Visualization combination
β βββ AttentionMapTest.ipynb # Interactive analysis notebook
β βββ attentionObs.ipynb # Attention observation experiments
β βββ autoTest.sh # Automated testing script
β βββ longRun.sh # Large-scale parallel processing
β βββ attached/ # Additional analysis tools
β βββ README.md # Observation documentation
β
βββ data/ # Dataset files
β βββ dataset_alpaca.json # Alpaca dataset
β βββ datasetSimplified_alpaca.json # Simplified Alpaca dataset
β βββ dataset_lmsys-chat-1m.json # LMSYS Chat 1M dataset
β
βββ training_data/ # Generated training data
β βββ ebd/ # Embedding-based training data
β β βββ features/ # Feature files (.npz)
β β βββ metadata/ # Metadata files
β βββ metadata/ # Model-specific metadata
β
βββ preview/ # Model response analysis
β βββ [model]_responses.json # Pre-generated model responses
β βββ dsTest/ # Dataset testing responses
β βββ pe/ # Prompt engineering responses
β
βββ dsGenEbd.py # Embedding-based data generation
βββ dsGenLogitsAS.py # Logits data generation (attention sampling)
βββ dsGenLogitsBS.py # Logits data generation (beam search)
βββ dsGenLogitsNC.py # Logits data generation (nucleus sampling)
βββ dsGenDraft.py # Draft attention data generation
βββ PETest.py # Prompt engineering tests
βββ labelChecking.py # Label validation utility
βββ datasetInit.ipynb # Dataset initialization notebook
βββ IdeaList.md # Project ideas and concepts
βββ requirements.txt # Project dependencies
Training Data Generation:
dsGenEbd.py): Extracts LLM hidden states during generationdsGenLogitsAS/BS/NC.py): Captures output distributions with different sampling strategiesdsGenDraft.py): Records attention patterns across layers and headsModel Architecture:
Evaluation Pipeline:
Signal Detection:
Systematic Analysis:
Direct Length Prediction:
Findings:
yahma/alpaca-cleaned) - Standard instruction-following dataset96 commits
25 commits
Python
61.1%
Jupyter Notebook
38.5%
@SleepyLGod for current observation π /cur
This project implements and evaluates a comprehensive end-of-sequence (EoS) prediction system for large language models (LLMs). The system explores multiple approaches to predict how many tokens remain in a generation sequence at any given step, enabling more efficient text generation, resource planning, and scheduling optimization.
The project encompasses three main methodologies:
The system provides comprehensive tools for data generation, model training, evaluation, and analysis across multiple model architectures and datasets.
dsGenEbd.py - Generates embedding-based training data from LLM hidden statesdsGenLogitsAS.py - Generates logits-based training data with attention samplingdsGenLogitsBS.py - Generates logits-based training data with beam searchdsGenLogitsNC.py - Generates logits-based training data with nucleus samplingdsGenDraft.py - Generates draft attention-based training datadatasetInit.ipynb - Dataset initialization and preprocessing notebook/cur/predictors/)ebdModelGenFinal.py) - Enhanced MLP training on embeddingsresultTest.py) - Comprehensive evaluation pipelinegraphsModified.py) - Statistical analysis and plottingerrorProfileGen.py) - Step-0 error analysis and profilingerrorRatioEvol.py) - Error ratio evolution throughout generationsysParaRank.py) - Decoding parameter ranking and optimization/cur/signalObs/)/cur/PETest.py)/cur/preview/)requirements.txt.python-version)# Create and activate virtual environment
python3 -m venv .env
source .env/bin/activate
# Install dependencies
pip install -r cur/requirements.txt
# Install appropriate PyTorch version for your system
# Visit https://pytorch.org/get-started/locally/ for instructions
cd cur
# Generate embedding-based training data
python dsGenEbd.py
# Generate logits-based training data (choose one approach)
python dsGenLogitsAS.py # Attention sampling
python dsGenLogitsBS.py # Beam search
python dsGenLogitsNC.py # Nucleus sampling
# Generate attention-based training data
python dsGenDraft.py
cd cur/predictors
# Train the length predictor
python ebdModelGenFinal.py
# Evaluate the trained model
python resultTest.py
# Generate comprehensive analysis
python graphsModified.py
python errorProfileGen.py
python errorRatioEvol.py
python sysParaRank.py
cd cur/signalObs
# Single attention map analysis
python mapTest.py
# Parameter impact testing
python parameterRangeTest.py
# Attention signal detection
python valueTest.py
# Automated batch testing
./autoTest.sh
./longRun.sh
cd cur
# Test prompt-based length prediction
python PETest.py
/cur
βββ predictors/ # Length prediction module
β βββ ebdModelGenFinal.py # Neural network training
β βββ resultTest.py # Model evaluation framework
β βββ graphsModified.py # Results visualization and analysis
β βββ errorProfileGen.py # Error profile analysis
β βββ errorRatioEvol.py # Error evolution tracking
β βββ sysParaRank.py # Parameter optimization
β βββ idChecking.py # Utility for ID validation
β βββ used_prompt_ids.txt # Training data exclusion list
β βββ saved_models/ # Trained model checkpoints
β βββ results/ # Analysis results
β βββ eval_output/ # Advanced analysis outputs
β βββ logs/ # Training logs
β βββ README.md # Module documentation
β
βββ signalObs/ # Attention map observation
β βββ mapTest.py # Attention map generation
β βββ valueTest.py # Attention signal detection
β βββ parameterRangeTest.py # Parameter impact analysis
β βββ graphsCount.py # Visualization combination
β βββ AttentionMapTest.ipynb # Interactive analysis notebook
β βββ attentionObs.ipynb # Attention observation experiments
β βββ autoTest.sh # Automated testing script
β βββ longRun.sh # Large-scale parallel processing
β βββ attached/ # Additional analysis tools
β βββ README.md # Observation documentation
β
βββ data/ # Dataset files
β βββ dataset_alpaca.json # Alpaca dataset
β βββ datasetSimplified_alpaca.json # Simplified Alpaca dataset
β βββ dataset_lmsys-chat-1m.json # LMSYS Chat 1M dataset
β
βββ training_data/ # Generated training data
β βββ ebd/ # Embedding-based training data
β β βββ features/ # Feature files (.npz)
β β βββ metadata/ # Metadata files
β βββ metadata/ # Model-specific metadata
β
βββ preview/ # Model response analysis
β βββ [model]_responses.json # Pre-generated model responses
β βββ dsTest/ # Dataset testing responses
β βββ pe/ # Prompt engineering responses
β
βββ dsGenEbd.py # Embedding-based data generation
βββ dsGenLogitsAS.py # Logits data generation (attention sampling)
βββ dsGenLogitsBS.py # Logits data generation (beam search)
βββ dsGenLogitsNC.py # Logits data generation (nucleus sampling)
βββ dsGenDraft.py # Draft attention data generation
βββ PETest.py # Prompt engineering tests
βββ labelChecking.py # Label validation utility
βββ datasetInit.ipynb # Dataset initialization notebook
βββ IdeaList.md # Project ideas and concepts
βββ requirements.txt # Project dependencies
Training Data Generation:
dsGenEbd.py): Extracts LLM hidden states during generationdsGenLogitsAS/BS/NC.py): Captures output distributions with different sampling strategiesdsGenDraft.py): Records attention patterns across layers and headsModel Architecture:
Evaluation Pipeline:
Signal Detection:
Systematic Analysis:
Direct Length Prediction:
Findings:
yahma/alpaca-cleaned) - Standard instruction-following dataset96 commits
25 commits
Python
61.1%
Jupyter Notebook
38.5%