์ ๊ท์ ๊ธฐ๋ฐ ํ ์คํธ ์์ถ์ ํตํ LLM Prompt Token 45% ์ ๊ฐ
Defluffer - reduce token usage ๐ by 45% using this one simple trick! [Earthday challenge]
AI ์์ฝ
Context
LLM์ Context Window ํน์ฑ์ ๋ํ๊ฐ ๊ธธ์ด์ง์๋ก ์ ๋ ฅ Token ์์ด ๋์ ๋์ด ๋น์ฉ๊ณผ ์ง์ฐ ์๊ฐ์ด ์ฆ๊ฐํ๋ ๊ตฌ์กฐ์ ํ๊ณ ์กด์ฌ. LLM์ ์ฌ์ฉํ์ฌ Prompt๋ฅผ ์ต์ ํํ๋ ๋ฐฉ์์ ์ถ๊ฐ Token์ ์๋ชจํ๋ ๋ชจ์์ ์ธ ๋น์ฉ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง.
Technical Solution
- Code Block ๋ณดํธ ๋ก์ง: ์ ๊ท์์ ํตํด ์ฝ๋ ์์ญ์ ๋ณ๋ ๋ณด๊ดํจ์ผ๋ก ๋ถ๋ฆฌํ์ฌ ํ ์คํธ ์์ถ ๊ณผ์ ์์์ ์ฝ๋ ๋ฌด๊ฒฐ์ฑ ๋ณด์ฅ
- Phrase Collapsing: ์ฌ์ ์ ์๋ Dictionary ๊ธฐ๋ฐ์ ๋ฌธ๊ตฌ ์นํ์ ํตํ Payload ํฌ๊ธฐ ์ต์ํ
- Blacklist Filtering: Hash Set์ ํ์ฉํ ๋ถํ์ํ Filler Word์ ๊ณ ์ ์ ๊ฑฐ
- Symbolic Logic Mapping: ์์ฐ์ด ๋ถ์ ๋ฌธ์ด๋ ๋ ผ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ธฐํธ(์: not โ !)๋ก ๋ณํํ์ฌ Token ๋ฐ๋ ํฅ์
- Stemming & Synonym Replacement: ๋จ์ด์ ์ํ ๋ณต์ ๋ฐ ์งง์ ๋์์ด ์นํ์ ํตํ ๋ฌธ์์ด ๊ธธ์ด ์ถ์
- Multi-pass Cleanup: ๊ณต๋ฐฑ ์ ๊ฑฐ ๋ฐ ํน์๋ฌธ์ ์ ๊ทํ๋ฅผ ํตํ ์ต์ข ํ ์คํธ ์ต์ ํ
Impact
- Prompt Token ์ฌ์ฉ๋ ํ๊ท 45% ์ ๊ฐ
- compute ๋น์ฉ ์ ๋ก์ ๊ฐ๊น์ด ์ ๊ท์ ๋ฐ Dictionary ๊ธฐ๋ฐ ์ฒ๋ฆฌ
- 4์ฒ๋ง ๋ช ์ ๊ฐ๋ฐ์๊ฐ ์ผ์ผ 30ํ ์ฌ์ฉ ์ ์ฐ๊ฐ 60GW ์ ๋ ฅ ์ ๊ฐ ๊ฐ๋ฅ์ฑ ์ ์
Key Takeaway
๊ณ ๋น์ฉ์ LLM ์ถ๋ก ์ ๊ฑฐ์น์ง ์๊ณ ๋ ๊ฒฐ์ ๋ก ์ ์ธ(Deterministic) ๊ท์น ๊ธฐ๋ฐ์ ์ ์ฒ๋ฆฌ(Preprocessing)๋ง์ผ๋ก ์ ์๋ฏธํ ๋น์ฉ ์ ๊ฐ๊ณผ ์ฑ๋ฅ ์ต์ ํ ๋ฌ์ฑ ๊ฐ๋ฅ
์ค์ฒ ํฌ์ธํธ
- LLM ์ ๋ ฅ ์ ์ ๊ท์์ ํตํ ๋ถํ์ํ ๊ณต๋ฐฑ ๋ฐ filler word ์ ๊ฑฐ ๋จ๊ณ ๊ฒํ - ๋๋ฉ์ธ ํนํ ์ฉ์ด ์ฌ์ ์ ๊ตฌ์ถํ์ฌ ๊ธด ๋ฌธ๊ตฌ๋ฅผ ์งง์ ํ ํฐ์ผ๋ก ์นํํ๋ ๋งคํ ํ ์ด๋ธ ์ ์ฉ - ์ฝ๋๋ JSON ๋ฑ ๊ตฌ์กฐํ ๋ฐ์ดํฐ๋ ์์ถ ๋์์์ ์ ์ธํ๋ Protection Logic ์ค๊ณ