Skip to content

Commit d8662d3

Browse files
committed
merge
2 parents 28085e4 + 34b6ac7 commit d8662d3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+4714
-960
lines changed

.github/workflows/docs.yml

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
name: Docs
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
workflow_dispatch:
9+
10+
jobs:
11+
build-docs:
12+
name: Build Documentation
13+
runs-on: ubuntu-latest
14+
timeout-minutes: 30
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
with:
19+
fetch-depth: 0
20+
- name: Setup conda env
21+
uses: conda-incubator/setup-miniconda@v2
22+
with:
23+
auto-update-conda: true
24+
miniconda-version: "latest"
25+
activate-environment: test
26+
python-version: '3.10'
27+
auto-activate-base: false
28+
- name: Verify conda environment
29+
shell: bash -l {0}
30+
run: |
31+
conda info
32+
which python
33+
which conda
34+
- name: Update pip
35+
shell: bash -l {0}
36+
run: python -m pip install --upgrade pip
37+
- name: Install pytorch
38+
shell: bash -l {0}
39+
run: python -m pip install torch==2.9.0.dev20250826 --extra-index-url https://download.pytorch.org/whl/nightly/cpu
40+
- name: Install monarch
41+
shell: bash -l {0}
42+
run: python -m pip install monarch-no-torch==0.1.0.dev20250826 --find-links assets/ci
43+
- name: Install torchforge
44+
shell: bash -l {0}
45+
env:
46+
GH_TOKEN: ${{ github.token }}
47+
run: ./scripts/install.sh
48+
- name: Install docs dependencies
49+
shell: bash -l {0}
50+
run: python -m pip install -r docs/requirements.txt
51+
- name: Build docs
52+
shell: bash -l {0}
53+
working-directory: docs
54+
run: make html --keep-going SPHINXOPTS='-W'
55+
- name: Upload docs artifact
56+
uses: actions/upload-artifact@v4
57+
with:
58+
name: docs
59+
path: docs/build/html/
60+
61+
# doc-preview:
62+
# runs-on: [ubuntu-latest]
63+
# needs: build-docs
64+
# if: ${{ github.event_name == 'pull_request' }}
65+
# steps:
66+
# - name: Checkout
67+
# uses: actions/checkout@v4
68+
# - name: Download artifact
69+
# uses: actions/download-artifact@v4
70+
# with:
71+
# name: docs
72+
# path: docs
73+
# - name: Add noindex to preview docs
74+
# run: |
75+
# echo "Adding noindex meta tag to prevent search engine indexing of preview docs"
76+
# find docs -name "*.html" -print0 | xargs -0 sed -i 's/<head>/<head>\n <meta name="robots" content="noindex">/'
77+
# - name: Upload docs preview
78+
# uses: seemethere/upload-artifact-s3@v5
79+
# if: ${{ github.event_name == 'pull_request' }}
80+
# with:
81+
# retention-days: 14
82+
# s3-bucket: doc-previews
83+
# if-no-files-found: error
84+
# path: docs
85+
# s3-prefix: meta-pytorch/forge/${{ github.event.pull_request.number }}
86+
87+
deploy-docs:
88+
needs: build-docs
89+
if: github.ref == 'refs/heads/main'
90+
permissions:
91+
pages: write
92+
id-token: write
93+
environment:
94+
name: github-pages
95+
url: ${{ steps.deployment.outputs.page_url }}
96+
runs-on: ubuntu-latest
97+
steps:
98+
- name: Download build artifact
99+
uses: actions/download-artifact@v4
100+
with:
101+
name: docs
102+
path: .
103+
104+
- name: Upload Pages artifact
105+
uses: actions/upload-pages-artifact@v3
106+
with:
107+
path: .
108+
109+
- name: Deploy to GitHub Pages
110+
id: deployment
111+
uses: actions/deploy-pages@v4

.github/workflows/unit_test.yaml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,10 @@ jobs:
2828
- name: Install monarch
2929
run: python -m pip install monarch-no-torch==0.1.0.dev20250826 --find-links assets/ci
3030
- name: Install torchstore
31-
run: |
32-
eval "$(ssh-agent -s)"
33-
ssh-add - <<< '${{ secrets.FORGE_GITHUB_CI_FOR_TORCHSTORE }}'
34-
python -m pip install git+ssh://[email protected]/meta-pytorch/torchstore.git
31+
run: pip install assets/wheels/torchstore-0.1.0-py3-none-any.whl
3532
- name: Install torchtitan
3633
run: |
37-
pip install --pre torchtitan==0.1.0.dev20250826+cpu --extra-index-url https://download.pytorch.org/whl/nightly/cpu
34+
pip install assets/wheels/torchtitan-0.1.0-py3-none-any.whl
3835
pip install tyro
3936
- name: Install dependencies
4037
run: python -m pip install --no-build-isolation -e ".[dev]"

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ ipython_config.py
8080
*.pt
8181
*.pth
8282
*.ckpt
83+
*.distcp
84+
.metadata
8385

8486
# mypy
8587
.mypy_cache/
@@ -196,3 +198,4 @@ assets/wheels/vllm*.whl
196198

197199
# DCP artifacts
198200
model_state_dict/
201+
forge_dcp_tmp/

README.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,26 @@
1-
# forge
1+
# <img width="35" height="35" alt="image" src="https://github.com/user-attachments/assets/2700a971-e5d6-4036-b03f-2f89c9791609" /> Forge
22

3-
#### A PyTorch native platform for post-training generative AI models
3+
4+
#### A PyTorch native agentic library for RL post-training and agentic development
45

56
## Overview
7+
Forge was built with one core principle in mind: researchers should write algorithms, not infrastructure. Forge introduces a “service”-centric architecture that provides the right abstractions for distributed complexity. When you need fine-grained control over placement, fault handling or communication patterns, the primitives are there. When you don’t, you can focus purely on your RL algorithm.
8+
9+
Key features:
10+
- Usability for rapid research (isolating the RL loop from infrastructure)
11+
- Hackability for power users (all parts of the RL loop can be easily modified without interacting with infrastructure)
12+
- Scalability (ability so shift between async and syncronous training and across thousands of GPUs)
13+
14+
> ⚠️ **Early Development Warning** Forge is currently in an experimental
15+
> stage. You should expect bugs, incomplete features, and APIs that may change
16+
> in future versions. The project welcomes bugfixes, but to make sure things are
17+
> well coordinated you should discuss any significant change before starting the
18+
> work. It's recommended that you signal your intention to contribute in the
19+
> issue tracker, either by filing a new issue or by claiming an existing one.
20+
21+
## 📖 Documentation
22+
23+
View Forge's hosted documentation [at this link](https://meta-pytorch.org/forge/).
624

725
## Installation
826

0 commit comments

Comments
 (0)