Commit
·
3e35453
1
Parent(s):
32694ac
More story refinement
Browse files
STORY.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
| 1 |
# NabuOCR: Teaching AI to Read the World's Oldest Writing
|
| 2 |
|
| 3 |
-
Cuneiform is humanity's oldest writing system. Over 5,000 years ago, scribes pressed wedge-shaped marks into clay tablets to record everything from royal decrees to diaries.
|
| 4 |
|
| 5 |
-
The name comes from Nabu, the Mesopotamian god of writing and scribes. It felt fitting for a project
|
| 6 |
|
| 7 |
-
The problem is both technically demanding and genuinely useful. Cuneiform OCR could lower the barrier for studying some of the earliest written records in human history. But it comes with unique challenges. The script is non-Latin. Artifacts are heavily worn. Images
|
| 8 |
|
| 9 |
## Prior Work
|
| 10 |
|
|
@@ -17,7 +17,7 @@ NabuOCR takes a different approach: a single vision-language model that accepts
|
|
| 17 |
My original goal was to output ATF (ASCII Transliteration Format), the standard notation Assyriologists use for cuneiform texts. ATF includes diacritics, separators, line markers, broken-sign annotations, and structural markup. The small 0.9B model couldn't reliably learn ATF's complexity within the hackathon's time and data constraints, leading to invalid ATF as the syntax rules were not followed strictly enough.
|
| 18 |
|
| 19 |
After wrestling with disappointing results, I made a pragmatic pivot: Unicode-based transcriptions of cuneiform signs instead of full ATF. This simplified the target space dramatically and aligned with what the model could reasonably handle.
|
| 20 |
-
This is a real tradeoff. ATF is what scholars actually use, and it encodes linguistic information that raw Unicode doesn't capture. But Unicode transcription isn't useless. It's a meaningful intermediate step: a model that can reliably identify which signs appear on a tablet is doing real work, even if a human still needs to add the scholarly apparatus.
|
| 21 |
|
| 22 |
## Building the Dataset
|
| 23 |
|
|
@@ -68,7 +68,7 @@ For GRPO, I switched from full fine-tuning to LoRA to reduce memory pressure dur
|
|
| 68 |
|
| 69 |
I made three significant mistakes along the way.
|
| 70 |
|
| 71 |
-
**GSPO was the wrong algorithm.** I tried it because it was new and interesting
|
| 72 |
|
| 73 |
*Lesson: Before adopting a new algorithm, verify its inductive biases match your task's structure. Novelty isn't a reason to use something.*
|
| 74 |
|
|
@@ -140,4 +140,4 @@ This project became as much about infrastructure, debugging, and reward design a
|
|
| 140 |
|
| 141 |
Some of those choices were mistakes. Others were small but critical course corrections. By sharing both the successes and the missteps, I hope others can build on this work more quickly and push cuneiform OCR even further.
|
| 142 |
|
| 143 |
-
The tablets have waited five thousand years. With better tools, maybe we won't keep them waiting much longer.
|
|
|
|
| 1 |
# NabuOCR: Teaching AI to Read the World's Oldest Writing
|
| 2 |
|
| 3 |
+
Cuneiform is humanity's oldest writing system. Over 5,000 years ago, scribes pressed wedge-shaped marks into clay tablets to record everything from royal decrees to diaries. There's a backlog of hundreds of thousands of these tablets waiting for Assyriologists to transcribe them. When I saw the **Best PaddleOCR-VL Fine-Tune** challenge in the Baidu ERNIE AI hackathon, I knew exactly what I wanted to build: an OCR system for cuneiform.
|
| 4 |
|
| 5 |
+
The name NabuOCR comes from Nabu, the Mesopotamian god of writing and scribes. It felt fitting for a project that teaches machines to read what his ancient devotees once wrote.
|
| 6 |
|
| 7 |
+
The problem is both technically demanding and genuinely useful. Cuneiform OCR could lower the barrier for studying some of the earliest written records in human history. But it comes with unique challenges. The script is non-Latin. Artifacts are heavily worn. Images show multiple tablet faces at once. Glyph shapes vary wildly between periods and regions. And labeled data is scarce. This is the story of how I tackled it, mistakes and all.
|
| 8 |
|
| 9 |
## Prior Work
|
| 10 |
|
|
|
|
| 17 |
My original goal was to output ATF (ASCII Transliteration Format), the standard notation Assyriologists use for cuneiform texts. ATF includes diacritics, separators, line markers, broken-sign annotations, and structural markup. The small 0.9B model couldn't reliably learn ATF's complexity within the hackathon's time and data constraints, leading to invalid ATF as the syntax rules were not followed strictly enough.
|
| 18 |
|
| 19 |
After wrestling with disappointing results, I made a pragmatic pivot: Unicode-based transcriptions of cuneiform signs instead of full ATF. This simplified the target space dramatically and aligned with what the model could reasonably handle.
|
| 20 |
+
This is a real tradeoff. ATF is what scholars actually use, and it encodes linguistic information that raw Unicode doesn't capture. But Unicode transcription isn't useless. It's a meaningful intermediate step: a model that can reliably identify which signs appear on a tablet is doing real work, even if a human still needs to add the scholarly apparatus. It's a step in the right direction.
|
| 21 |
|
| 22 |
## Building the Dataset
|
| 23 |
|
|
|
|
| 68 |
|
| 69 |
I made three significant mistakes along the way.
|
| 70 |
|
| 71 |
+
**GSPO was the wrong algorithm.** I tried it because it was new and interesting without considering whether it fit my task. Cuneiform transcription quality is fundamentally character-level: did you get each glyph right? GSPO rewards sequence-level completions, which made the reward signal noisy and unhelpful. GRPO was better suited because it performs importance sampling at the token level, letting the model learn which glyph choices lead to better transcriptions.
|
| 72 |
|
| 73 |
*Lesson: Before adopting a new algorithm, verify its inductive biases match your task's structure. Novelty isn't a reason to use something.*
|
| 74 |
|
|
|
|
| 140 |
|
| 141 |
Some of those choices were mistakes. Others were small but critical course corrections. By sharing both the successes and the missteps, I hope others can build on this work more quickly and push cuneiform OCR even further.
|
| 142 |
|
| 143 |
+
The tablets have waited five thousand years to be understood. With better tools, maybe we won't keep them waiting much longer.
|