Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
dissemination/kakeyalattice/huggingface/space/__pycache__/
__pycache__/
*.pyc
dissemination/kakeyalattice/arxiv/arxiv_submission.tar.gz
88 changes: 88 additions & 0 deletions dissemination/kakeyalattice/DISSEMINATION_PLAN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# KakeyaLattice Dissemination Kit

**Target repo**: [`FluffyAIcode/LLM-KV--Cache-compress`](https://github.com/FluffyAIcode/LLM-KV--Cache-compress)
**Goal**: move the project from "搜不到" (discoverable only by exact name) to "natural-language discoverable" on the four primary channels researchers / engineers actually use.

## Why this kit exists

KakeyaLattice v1.4/v1.5 is fully measured and release-ready, but as of 2026-04-27 generic queries like *"lattice KV cache compression"*, *"E8 KV quant vLLM"*, or *"Kakeya-Zamir LLM"* return NexusQuant / NestQuant / KV-Compress / LMCache — not this repo. The four causes we can actually fix from the author side:

1. GitHub repo has **zero topics** → excluded from `/topics/*` discovery pages.
2. No arXiv ID → no Google Scholar / Semantic Scholar / Connected Papers index → no academic backlinks.
3. No vLLM-ecosystem issue → not cross-referenced from the 76k-star vLLM repo (NexusQuant got this via `vllm#39241` and it's already its #1 inbound source).
4. No HuggingFace Space and no Papers with Code entry → no `paperswithcode.com/paper/...` landing page and no HF hub search hit.

This kit completes **what can be automated** (config files, LaTeX tarball builder, issue Markdown, Space scaffold, PwC JSON) and stages **what requires a human account** (arXiv endorsement + upload, HF CLI login + push, PwC submit button) as one-command steps.

## Execution order (5 steps, ~30–40 min of human time total)

| # | Task | Where it lives | Who executes | Time |
|---|------|----------------|--------------|------|
| 1 | Set GitHub topics + description | `github_topics/apply.sh` | repo owner, 1 command | 30 s |
| 2 | Submit arXiv preprint | `arxiv/` | Allen Li, arXiv account | 10 min (+ endorsement wait) |
| 3 | Open vLLM Discussion / Issue | `vllm_issue/BODY.md` | anyone with GitHub account | 2 min |
| 4 | Deploy HuggingFace Space demo | `huggingface/space/` | any HF account | 5 min |
| 5 | Submit Papers with Code entry | `paperswithcode/` | any PwC account | 3 min |

After all five land, you should have **4 new inbound backlinks** (vLLM issue, HF Space, arXiv abstract page, PwC paper page) and **7 GitHub topic pages** pointing at the repo. Empirically this is the minimum needed to show up on natural-language LLM + KV-cache queries.

## Per-step quick start

```bash
# 1. GitHub topics (run from any machine with gh CLI auth'd as repo owner)
bash dissemination/kakeyalattice/github_topics/apply.sh

# 2. Build arXiv tarball (produces arxiv_submission.tar.gz, upload at arxiv.org/submit)
bash dissemination/kakeyalattice/arxiv/build_tarball.sh
# Then follow dissemination/kakeyalattice/arxiv/SUBMIT.md

# 3. Open vLLM issue (body ready at vllm_issue/BODY.md)
gh issue create -R vllm-project/vllm \
--title "$(cat dissemination/kakeyalattice/vllm_issue/TITLE.txt)" \
--body-file dissemination/kakeyalattice/vllm_issue/BODY.md

# 4. Deploy HF Space
bash dissemination/kakeyalattice/huggingface/deploy.sh # requires `huggingface-cli login`

# 5. Submit to Papers with Code (manual, 30 seconds) — see paperswithcode/SUBMIT.md
```

## Files in this kit

```
dissemination/kakeyalattice/
├── DISSEMINATION_PLAN.md ← this file
├── github_topics/
│ ├── topics.json ← topic list (source of truth)
│ ├── description.txt ← GitHub "About" one-liner
│ └── apply.sh ← `gh` CLI command, one-shot
├── arxiv/
│ ├── SUBMIT.md ← submission walkthrough (endorsement, categories)
│ ├── metadata.yaml ← title, authors, abstract, categories, comment
│ ├── build_tarball.sh ← produces arxiv_submission.tar.gz from reports/paper/
│ └── endorsement_request.md ← template email to request cs.LG endorsement
├── vllm_issue/
│ ├── TITLE.txt ← issue title
│ ├── BODY.md ← issue body (mirrors NexusQuant vllm#39241 format)
│ └── LABELS.txt ← recommended labels
├── huggingface/
│ ├── space/ ← full HF Space repo scaffold (app.py, requirements.txt, README.md)
│ ├── deploy.sh ← pushes Space to hf.co/spaces/<user>/kakeyalattice
│ └── MODEL_CARD_EDIT.md ← snippet to add to any HF model card that benefits from KakeyaLattice
└── paperswithcode/
├── SUBMIT.md ← submit walkthrough
├── entry.json ← paper + code + results (copy-paste ready)
└── sota_tables.md ← pre-filled iso-PPL and iso-bit leaderboard rows
```

## Measurement of success

After execution, re-run these natural-language queries; each should surface the repo or its arXiv page in the first result page (currently zero do):

- `lattice KV cache compression vLLM`
- `E8 lattice KV cache quantization`
- `Kakeya-Zamir nested lattice LLM`
- `D4 E8 KV cache H200`
- `KV cache compression plugin vLLM 2026`

We expect first Google indexing of the arXiv page within **24–72 h** and first Bing/DuckDuckGo within **5–7 days** post-submission. GitHub topics update is immediate. HF Space and PwC typically index within 24 h.
98 changes: 98 additions & 0 deletions dissemination/kakeyalattice/README_PATCH.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# README patch for FluffyAIcode/LLM-KV--Cache-compress

Paste this block directly below the first heading (`# KakeyaLattice — v1.4
KV-Cache Compression`) in the KakeyaLattice repo's `README.md`. Every
badge is self-updating: they reflect live status as soon as the
corresponding step in the dissemination kit is completed.

```markdown
[![Release v1.5](https://img.shields.io/github/v/release/FluffyAIcode/LLM-KV--Cache-compress?color=blue&label=release)](https://github.com/FluffyAIcode/LLM-KV--Cache-compress/releases/latest)
[![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-green.svg)](LICENSE)
[![arXiv](https://img.shields.io/badge/arXiv-pending-b31b1b.svg)](reports/paper/kakeyalattice.pdf)
[![Papers with Code](https://img.shields.io/badge/Papers_with_Code-pending-21cbce.svg)](https://paperswithcode.com/paper/kakeyalattice)
[![HF Space](https://img.shields.io/badge/%F0%9F%A4%97-demo-yellow.svg)](https://huggingface.co/spaces/FluffyAIcode/kakeyalattice)
[![vLLM Issue](https://img.shields.io/badge/vLLM-feature_request-informational.svg)](https://github.com/vllm-project/vllm/issues?q=KakeyaLattice)

**Topics**: `kv-cache` · `kv-cache-compression` · `quantization` · `vllm` ·
`lattice-quantization` · `e8-lattice` · `d4-lattice` · `nested-lattice` ·
`llm-inference` · `long-context` · `h200`
```

After arXiv lands, replace the `arXiv-pending` badge line with:

```markdown
[![arXiv](https://img.shields.io/badge/arXiv-26MM.NNNNN-b31b1b.svg)](https://arxiv.org/abs/26MM.NNNNN)
```

and add a **Citation** section at the bottom of `README.md`:

```markdown
## Citation

If you use KakeyaLattice in your research, please cite:

​```bibtex
@misc{li2026kakeyalattice,
author = {Allen Li},
title = {{KakeyaLattice}: Nested-Lattice {KV}-Cache Compression
with {K}akeya-Style Discrete Codebooks ({D}4 + {E}8 Joint Release)},
year = {2026},
eprint = {26MM.NNNNN},
archivePrefix= {arXiv},
primaryClass = {cs.LG},
url = {https://arxiv.org/abs/26MM.NNNNN},
note = {Code: \url{https://github.com/FluffyAIcode/LLM-KV--Cache-compress}}
}
​```
```

## One-command re-dissemination

Add this section somewhere near the end of `README.md`:

```markdown
## Dissemination

To keep the project discoverable (GitHub topics, arXiv, vLLM issue, HF
Space, Papers with Code), use the dissemination kit shipped in
[`dissemination/`](dissemination/DISSEMINATION_PLAN.md). All five
channels are scripted to one command each:

​```bash
# 1. GitHub topics + description (requires repo-admin gh CLI auth)
bash dissemination/github_topics/apply.sh

# 2. arXiv submission tarball (upload at https://arxiv.org/submit)
bash dissemination/arxiv/build_tarball.sh

# 3. Open a vLLM issue (body pre-written)
gh issue create -R vllm-project/vllm \
--title "$(cat dissemination/vllm_issue/TITLE.txt)" \
--body-file dissemination/vllm_issue/BODY.md

# 4. Deploy HF Space (requires huggingface-cli login)
bash dissemination/huggingface/deploy.sh

# 5. Submit to Papers with Code (manual form, 3 min)
# entries ready at dissemination/paperswithcode/entry.json
```

## Where to drop the kit

The kit currently lives in the `AgentMemorySystem` repo (branch
`AgentMemory/kakeyalattice-dissemination-kit-f31f`). To adopt it into
KakeyaLattice:

```bash
cd LLM-KV--Cache-compress
git remote add ams https://github.com/FluffyAIcode/AgentMemorySystem
git fetch ams AgentMemory/kakeyalattice-dissemination-kit-f31f
git checkout ams/AgentMemory/kakeyalattice-dissemination-kit-f31f -- \
dissemination/kakeyalattice
git mv dissemination/kakeyalattice dissemination
git commit -m "Adopt KakeyaLattice dissemination kit"
git push
```

From then on, all five steps are re-runnable from inside the KakeyaLattice
repo with no re-staging.
103 changes: 103 additions & 0 deletions dissemination/kakeyalattice/arxiv/SUBMIT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# arXiv submission walkthrough — KakeyaLattice

Est. time: **10 minutes** of active work + endorsement wait (hours to days
if first-time cs.LG submitter, instant if already endorsed).

## Prerequisites

- An arXiv account (register at https://arxiv.org/user/register)
- cs.LG endorsement (if first-time — see `endorsement_request.md`)
- LaTeX toolchain (`pdflatex`, `bibtex`) — optional but recommended

## Step 1 — Build the submission tarball

From the KakeyaLattice repo root:

```bash
bash dissemination/kakeyalattice/arxiv/build_tarball.sh
```

Output: `dissemination/kakeyalattice/arxiv/arxiv_submission.tar.gz`

Sanity-check:

```bash
tar -tzf dissemination/kakeyalattice/arxiv/arxiv_submission.tar.gz | head -20
```

You should see `kakeyalattice.tex` and (if pdflatex was available) a
pre-built `kakeyalattice.bbl`.

## Step 2 — Fill the submission form

Go to https://arxiv.org/submit → "Start a new submission".

Paste values from `metadata.yaml`:

| Form field | Value source |
|---|---|
| Title | `title` |
| Author(s) | `authors` (single author: Allen Li) |
| Abstract | `abstract` (paste as-is; arXiv strips LaTeX automatically) |
| Comments | `comments` |
| Primary subject | **cs.LG** |
| Cross-listing | cs.CL, cs.IT, cs.DS |
| MSC class | 94A29, 68T50 |
| ACM class | I.2.7; E.4 |
| License | **CC BY 4.0** (recommended) |

## Step 3 — Upload tarball

- Choose "Upload: tar archive of sources"
- Upload `arxiv_submission.tar.gz`
- Wait for server-side build (typical: 2–5 min)
- If build fails: the error log usually points to a missing figure or package;
copy it into the tarball and rebuild.

## Step 4 — Preview PDF

arXiv auto-generates a preview PDF. Compare against the source PDF at
`reports/paper/kakeyalattice.pdf`; they should be visually identical. If the
preview is missing references or figures, fix the tarball and resubmit.

## Step 5 — Submit

Click "Submit" on the metadata page. You'll get an immediate confirmation
with a temporary ID (like `submit/12345678`). The permanent
`arXiv:26MM.NNNNN` ID is assigned after the next daily announcement cycle
(Monday–Thursday announce at 20:00 UTC; Friday's submissions announce Monday).

## Step 6 — After publication

Once you have the arXiv ID, update KakeyaLattice in this order:

```bash
# In FluffyAIcode/LLM-KV--Cache-compress:

# 6a. Badge + citation in README
# Add to top of README.md:
# [![arXiv](https://img.shields.io/badge/arXiv-26MM.NNNNN-b31b1b.svg)](https://arxiv.org/abs/26MM.NNNNN)

# 6b. Update Papers with Code entry (see ../paperswithcode/)
# 6c. Update HF Space README badge (see ../huggingface/space/README.md)
# 6d. Post the arXiv link as a comment on the vLLM issue (see ../vllm_issue/)
# 6e. Reply to NestQuant / NexusQuant threads with the arXiv link for reverse backlinks
```

Google Scholar usually indexes within **24–48 h** of arXiv publication.
Semantic Scholar and Connected Papers within **1–3 days**.

## Common pitfalls

- **Non-ASCII characters** in the abstract field: replace em-dashes (—) with
double-hyphens (--), and curly quotes with straight quotes. metadata.yaml
already does this.
- **Missing `.bbl`**: if arXiv can't find your bibliography, either
pre-build it (the script does this when pdflatex is available) or include
the `.bib` file and ensure `\bibliography{kakeyalattice}` points to it.
- **Figures > 6 MB**: compress PDFs with `gs -sDEVICE=pdfwrite
-dPDFSETTINGS=/ebook`.
- **Version update**: if you revise the paper post-publication (v1.5 adds
new data, for example), submit as a **replacement** from the same abstract
page, not as a new submission. Each version gets `v1`, `v2` suffixes under
the same arXiv ID.
72 changes: 72 additions & 0 deletions dissemination/kakeyalattice/arxiv/build_tarball.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
#!/usr/bin/env bash
# Build an arXiv-compliant tarball from reports/paper/.
#
# Usage (run from the KakeyaLattice repo root):
# bash dissemination/kakeyalattice/arxiv/build_tarball.sh
# Produces: dissemination/kakeyalattice/arxiv/arxiv_submission.tar.gz
#
# The tarball contains:
# - kakeyalattice.tex (main source)
# - any .bbl / .bib / figures / style files from reports/paper/
# and omits build artefacts listed in reports/paper/.gitignore.
#
# Requirements: bash, tar, grep, awk; pdflatex+bibtex only if you want
# to pre-build the .bbl (recommended, arXiv builds faster with .bbl included).

set -euo pipefail

HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "$HERE/../../.." && pwd)" # dissemination/kakeyalattice/arxiv/ -> repo root
PAPER_DIR="$REPO_ROOT/reports/paper"
OUT="$HERE/arxiv_submission.tar.gz"
STAGE="$(mktemp -d)"

if [[ ! -f "$PAPER_DIR/kakeyalattice.tex" ]]; then
echo "ERROR: expected $PAPER_DIR/kakeyalattice.tex" >&2
echo "Run this script from inside the KakeyaLattice repo (FluffyAIcode/LLM-KV--Cache-compress)." >&2
exit 1
fi

echo "==> Staging paper sources in $STAGE"
cp "$PAPER_DIR"/*.tex "$STAGE/"
cp "$PAPER_DIR"/*.bib "$STAGE/" 2>/dev/null || true
cp "$PAPER_DIR"/*.cls "$STAGE/" 2>/dev/null || true
cp "$PAPER_DIR"/*.sty "$STAGE/" 2>/dev/null || true

# Figures subdirs (common layouts)
for d in figures figs images img; do
if [[ -d "$PAPER_DIR/$d" ]]; then
cp -r "$PAPER_DIR/$d" "$STAGE/"
fi
done

# Try to pre-build the .bbl so arXiv's build path is shorter.
if command -v pdflatex >/dev/null && command -v bibtex >/dev/null; then
echo "==> Pre-building .bbl with pdflatex+bibtex"
pushd "$STAGE" >/dev/null
pdflatex -interaction=nonstopmode kakeyalattice.tex >/dev/null || true
bibtex kakeyalattice >/dev/null || true
pdflatex -interaction=nonstopmode kakeyalattice.tex >/dev/null || true
pdflatex -interaction=nonstopmode kakeyalattice.tex >/dev/null || true
# Remove intermediate artefacts; keep .bbl
rm -f *.aux *.log *.out *.toc *.fls *.fdb_latexmk *.synctex.gz *.blg
popd >/dev/null
else
echo "WARN: pdflatex/bibtex not found — arXiv will build the .bbl server-side."
fi

echo "==> Creating tarball $OUT"
rm -f "$OUT"
tar -czf "$OUT" -C "$STAGE" .
ls -lh "$OUT"

echo
echo "Next steps:"
echo " 1. Go to https://arxiv.org/submit and start a new submission"
echo " 2. Primary category: cs.LG (see metadata.yaml)"
echo " 3. Upload $OUT as 'tar archive of sources'"
echo " 4. Paste title / abstract / comments from metadata.yaml"
echo " 5. License: CC BY 4.0 (recommended)"
echo
echo "If this is your first cs.LG submission, request endorsement first:"
echo " see dissemination/kakeyalattice/arxiv/endorsement_request.md"
Loading