Skip to content

Commit b433710

Browse files
jdinaltclaude
andcommitted
Add Jekyll-based Forgather landing site
Create SEO-optimized GitHub Pages site to improve discoverability: - Homepage highlighting pipeline parallelism for consumer GPUs - Simple pages directing users to main repository documentation - Jekyll configuration with SEO plugins for search engine indexing - Focus on attracting collaborators for alpha-stage framework 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 87d8a6c commit b433710

8 files changed

Lines changed: 697 additions & 1 deletion

File tree

Gemfile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
source "https://rubygems.org"
2+
3+
gem "github-pages", group: :jekyll_plugins
4+
gem "jekyll-feed", "~> 0.12"
5+
gem "jekyll-sitemap"
6+
gem "jekyll-seo-tag"
7+
8+
platforms :mingw, :x64_mingw, :mswin, :jruby do
9+
gem "tzinfo", ">= 1", "< 3"
10+
gem "tzinfo-data"
11+
end
12+
13+
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
14+
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]

_config.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Site settings
2+
title: "Forgather ML Framework"
3+
description: "Configuration-driven ML framework with template inheritance and distributed pipeline parallelism for consumer GPUs"
4+
url: "https://jdinalt.github.io"
5+
baseurl: ""
6+
7+
# Author
8+
author:
9+
name: "Forgather Team"
10+
email: "contact@forgather.dev"
11+
12+
# Jekyll settings
13+
markdown: kramdown
14+
highlighter: rouge
15+
permalink: pretty
16+
timezone: UTC
17+
18+
# Plugins
19+
plugins:
20+
- jekyll-feed
21+
- jekyll-sitemap
22+
- jekyll-seo-tag
23+
24+
# SEO
25+
lang: en-US
26+
27+
# Social
28+
github_username: jdinalt
29+
repository: jdinalt/forgather
30+
31+
# Theme
32+
theme: minima
33+
34+
# Navigation
35+
header_pages:
36+
- getting-started.md
37+
- features.md
38+
- examples.md
39+
- docs.md
40+
41+
# Collections
42+
collections:
43+
examples:
44+
output: true
45+
permalink: /:collection/:name/
46+
47+
# Defaults
48+
defaults:
49+
- scope:
50+
path: ""
51+
type: "posts"
52+
values:
53+
layout: "post"
54+
author: "Forgather Team"
55+
- scope:
56+
path: ""
57+
type: "pages"
58+
values:
59+
layout: "page"

docs.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
layout: page
3+
title: Documentation
4+
description: "Forgather documentation, tutorials, and API reference are maintained in the main GitHub repository."
5+
permalink: /docs/
6+
---
7+
8+
# Documentation
9+
10+
All Forgather documentation is maintained in the main repository to ensure accuracy and avoid duplication.
11+
12+
## Repository Documentation
13+
14+
The [main repository](https://github.com/jdinalt/forgather) contains:
15+
16+
- **Installation Guide** - Setup instructions and requirements
17+
- **Tutorials** - Step-by-step learning materials
18+
- **Examples** - Real-world configurations and use cases
19+
- **API Reference** - Complete framework documentation
20+
- **Configuration Guide** - Template inheritance and syntax reference
21+
22+
## Key Documentation Sections
23+
24+
### 📖 [README](https://github.com/jdinalt/forgather/blob/main/README.md)
25+
Overview, quick start, and core concepts
26+
27+
### 📚 [Examples Directory](https://github.com/jdinalt/forgather/tree/main/examples)
28+
- **Tutorials**: Learning materials and guided examples
29+
- **Tiny Experiments**: Architecture comparisons and research patterns
30+
- **Standalone Projects**: Complete project templates
31+
32+
### 🔧 [Documentation Directory](https://github.com/jdinalt/forgather/tree/main/docs)
33+
- Configuration syntax reference
34+
- Training system documentation
35+
- API reference and guides
36+
37+
### 📝 [CLAUDE.md](https://github.com/jdinalt/forgather/blob/main/CLAUDE.md)
38+
Developer guidance and framework patterns
39+
40+
## Community Resources
41+
42+
- **[GitHub Discussions](https://github.com/jdinalt/forgather/discussions)** - Community support and ideas
43+
- **[Issues](https://github.com/jdinalt/forgather/issues)** - Bug reports and feature requests
44+
- **[Contributing Guide](https://github.com/jdinalt/forgather/blob/main/docs/contributing/)** - How to contribute
45+
46+
[Visit Repository Documentation →](https://github.com/jdinalt/forgather){: .btn .btn-primary}

examples.md

Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
---
2+
layout: page
3+
title: Examples
4+
description: "Explore the potential of distributed training and template inheritance with Forgather's example configurations and use cases."
5+
permalink: /examples/
6+
---
7+
8+
# Examples & Use Cases
9+
10+
Discover what's possible with Forgather's template inheritance and distributed training capabilities.
11+
12+
## 🚀 Distributed Pipeline Parallelism
13+
14+
### Large Model Training on Consumer Hardware
15+
16+
Successfully training 7B parameter models across multiple RTX 4090 cards using various pipeline schedules:
17+
18+
- **Zero-Bubble Pipeline**: Maximizes GPU utilization with minimal idle time
19+
- **Interleaved 1F1B**: Balanced approach with good memory efficiency
20+
- **Standard 1F1B**: Most memory-efficient option for resource-constrained setups
21+
22+
### Real Hardware Testing
23+
24+
Current development uses a 6x RTX 4090 setup, with 4 cards sufficient for 7B models. The system demonstrates that consumer hardware can handle serious model training when properly orchestrated.
25+
26+
## 📝 Template Inheritance Patterns
27+
28+
### Systematic Architecture Comparison
29+
30+
Compare different model architectures without configuration duplication:
31+
32+
**Attention Mechanisms:**
33+
- Multi-head attention with different head counts
34+
- Single-head attention variants
35+
- ALiBi positional bias implementations
36+
- Rotary Position Embedding (RoPE) systems
37+
- Grouped Query Attention experiments
38+
39+
**Feedforward Variations:**
40+
- Standard MLP architectures
41+
- GLU (Gated Linear Unit) implementations
42+
- Different activation functions (ReLU, GELU, SwiGLU)
43+
44+
**Optimizer Studies:**
45+
- AdamW with various hyperparameters
46+
- AdaFactor for memory-efficient training
47+
- Apollo adaptive coordinate-wise optimization
48+
- Custom research optimizer implementations
49+
50+
### Template Reusability
51+
52+
Build a library of reusable components:
53+
- Base transformer architectures
54+
- Training pipeline configurations
55+
- Dataset preprocessing patterns
56+
- Evaluation and monitoring setups
57+
58+
## 🔬 Research Applications
59+
60+
### Model Architecture Exploration
61+
62+
Forgather enables systematic comparison of:
63+
- **Positional Encoding**: Compare sinusoidal, learned, ALiBi, and RoPE approaches
64+
- **Layer Normalization**: Pre-norm vs post-norm architectures
65+
- **Initialization Schemes**: Different weight initialization strategies
66+
- **Activation Checkpointing**: Memory vs compute trade-offs
67+
68+
### Training Method Comparison
69+
70+
Compare different training approaches:
71+
- **Single GPU**: Traditional training on individual cards
72+
- **Multi-GPU**: Data parallel training with gradient synchronization
73+
- **Pipeline Parallel**: Model parallel training across devices
74+
- **Mixed Approaches**: Hybrid parallelism strategies
75+
76+
## 🎯 Framework Features in Action
77+
78+
### Dynamic Code Generation
79+
80+
Models become standalone Python modules:
81+
- No runtime dependency on Forgather
82+
- Portable across different environments
83+
- Easy integration into existing pipelines
84+
- Full model architecture preservation
85+
86+
### Configuration Validation
87+
88+
Template system catches errors early:
89+
- Preprocessing validation before training
90+
- Dependency checking across template inheritance
91+
- Clear error messages for debugging
92+
- Interactive exploration in Jupyter notebooks
93+
94+
### Reproducibility
95+
96+
Every training run captures:
97+
- Complete configuration snapshots
98+
- Generated model source code
99+
- Training metrics and logs
100+
- Environment and dependency information
101+
102+
## 🏗 Getting Involved
103+
104+
### For Researchers
105+
106+
Interested in systematic model comparison? Forgather's template system makes it easy to:
107+
- Test hypotheses across model variants
108+
- Maintain reproducible experiment records
109+
- Share configurations with collaborators
110+
- Build on others' template libraries
111+
112+
### For Engineers
113+
114+
Want to optimize large model training? Help us improve:
115+
- Pipeline parallelism efficiency
116+
- Memory optimization strategies
117+
- Multi-node distributed training
118+
- Performance profiling and monitoring
119+
120+
### For Hobbyists
121+
122+
Curious about training large models? Contribute by:
123+
- Testing on different hardware configurations
124+
- Sharing training results and observations
125+
- Creating example configurations
126+
- Documenting setup procedures
127+
128+
## 🔮 Future Directions
129+
130+
Areas where we're seeking collaboration:
131+
132+
**Multi-Node Training**: Extending pipeline parallelism across multiple machines
133+
134+
**Memory Optimization**: Advanced techniques for fitting larger models in consumer GPU memory
135+
136+
**Training Efficiency**: Optimizing pipeline schedules and reducing overhead
137+
138+
**Model Support**: Expanding beyond transformers to other architectures
139+
140+
**Tooling**: Better debugging, profiling, and monitoring capabilities
141+
142+
## Get Started
143+
144+
Ready to explore what's possible with consumer-grade distributed training?
145+
146+
[View the Repository →](https://github.com/jdinalt/forgather){: .btn .btn-primary}
147+
[Read Getting Started →](/getting-started){: .btn .btn-outline}
148+
149+
---
150+
151+
*Examples represent current capabilities of alpha software. Performance and features continue to evolve.*

0 commit comments

Comments
 (0)