Code as Policies: Language Model Programs for Embodied Control
์ ์: Jacky Liang, Wenlong Huang, Fei Xia, Peng Xu, Karol Hausman, Brian Ichter, Pete Florence, Andy Zeng | ๋ ์ง: 2022-09-16 | URL: https://arxiv.org/abs/2209.07753 📄 PDF
Essence
Fig. 1: Given examples (via few-shot prompting), robots can use code-writing
Large Language Model(LLM)์ ํ์ฉํ์ฌ ์์ฐ์ด ๋ช
๋ น์ ๋ก๋ด ์ ์ฑ
์ฝ๋๋ก ์ง์ ๋ณํํ๋ "Code as Policies" ๋ฐฉ์์ ์ ์ํ๋ฉฐ, few-shot prompting๊ณผ hierarchical code-gen์ ํตํด ๋ณต์กํ ๋ก๋ด ํ๋์ ์ค์๊ฐ์ผ๋ก ์์ฑํ๋ค.
Motivation
- Known: LLM์ docstring์ผ๋ก๋ถํฐ Python ํ๋ก๊ทธ๋จ์ ํฉ์ฑํ ์ ์์ผ๋ฉฐ, ๋ก๋ด ์ ์ด์ ๋ํด ๊ธฐ์กด์๋ ๊ณ ์ ๋ ์คํฌ ์ธํธ๋ฅผ ์กฐํฉํ๊ฑฐ๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ก end-to-end ํ์ตํ๋ ๋ฐฉ์์ด ์ฌ์ฉ๋์ด ์๋ค.
- Gap: ๊ธฐ์กด LLM ๊ธฐ๋ฐ ๋ก๋ด ์ ์ด ๋ฐฉ์์ ์ธ์-ํ๋ ํผ๋๋ฐฑ ๋ฃจํ์ ์ง์ ์ํฅ์ ๋ฏธ์น์ง ๋ชปํ์ฌ, ์๋ก์ด ์คํฌ ์ถ๊ฐ ์ ์ถ๊ฐ ํ์ต ๋ฐ์ดํฐ๊ฐ ํ์ํ๊ณ ๊ณต๊ฐ ๊ด๊ณ ์ดํด ๋ฐ ๋ชจํธํ ๋ช
๋ น("๋ ๋น ๋ฅด๊ฒ")์ ์ ๋ํ๊ฐ ์ด๋ ต๋ค.
- Why: ๋ก๋ด์ด ์์ฐ์ด๋ก ํํ๋ ๋ณต์กํ ์์
์ ๋ฐ์ดํฐ ์์ง ์์ด ์ค์๊ฐ์ผ๋ก ํ์ตยท์ํํ ์ ์๋ค๋ฉด, ๋ก๋ด์ ๋ฒ์ฉ์ฑ๊ณผ ์ฌ์ฉ ํธ์์ฑ์ด ํฌ๊ฒ ํฅ์๋๋ฉฐ ์ธ๊ฐ-๋ก๋ด ์ํธ์์ฉ์ ์๋ก์ด ๊ฐ๋ฅ์ฑ์ด ์ด๋ฆฐ๋ค.
- Approach: Code-writing LLM์ few-shot prompt๋ก ์์ ๋ช
๋ น๊ณผ ๋์ํ๋ ์ ์ฑ
์ฝ๋๋ฅผ ์ ๊ณตํ์ฌ, ์๋ก์ด ๋ช
๋ น์ ๋ํด perception API(๊ฐ์ฒด ๊ฐ์ง)์ control primitive API๋ฅผ ์กฐํฉํ Python ์ฝ๋๋ฅผ ์๋์ผ๋ก ์์ฑํ๊ฒ ํ๋ค. Hierarchical code-gen์ ํตํด ๋ฏธ์ ์ ํจ์๋ฅผ ์ฌ๊ท์ ์ผ๋ก ์ ์ํ์ฌ ๋ณต์ก๋๋ฅผ ์ฆ๊ฐ์ํจ๋ค.
Achievement
Fig. 2: Code as Policies can follow natural language instructions across diverse domains and robots: table-top manipulat
- Code as Policies ๋ฐฉ์๋ก : LMP(Language Model Programs)๋ฅผ ๋ก๋ด ์ ์ฑ
ํํ์ผ๋ก ์ฌ์ฉํ์ฌ reactive policy(impedance controller)์ waypoint-based policy(vision-based pick and place, trajectory control) ๋ชจ๋ ํํ ๊ฐ๋ฅ
- Hierarchical code-gen: ์ฌ๊ท์ ํจ์ ์ ์๋ฅผ ํตํด ๋ ๋ณต์กํ ์ฝ๋ ์์ฑ์ด ๊ฐ๋ฅํ๋ฉฐ, HumanEval ๋ฒค์น๋งํฌ์์ 39.8% P@1 ๋ฌ์ฑ์ผ๋ก ๊ธฐ์กด ์ต๊ณ ์ฑ๋ฅ ๊ฐ์
- ๋ค์ค ๋ก๋ด ํ๋ซํผ ๊ฒ์ฆ: ํ
์ด๋ธํ ์กฐ์, 2D ๋ํ ๊ทธ๋ฆฌ๊ธฐ, ์ด๋ํ ์กฐ์ ๋ฑ ๋ค์ํ ๋๋ฉ์ธ๊ณผ ๋ก๋ด ์์คํ
์์ ์ค์ ๋์ ์
์ฆ
- ๋ก๋ด ํนํ ๋ฒค์น๋งํฌ: ๋ก๋ด ์ฝ๋ ์์ฑ ๋ฌธ์ ํ๊ฐ๋ฅผ ์ํ ์๋ก์ด ๋ฒค์น๋งํฌ ์ ์
How
Fig. 1: Given examples (via few-shot prompting), robots can use code-writing
- Few-shot prompting: ์์ฐ์ด ๋ช
๋ น์ ์ฃผ์ ํํ๋ก, ๋์ํ๋ ์ ์ฑ
์ฝ๋๋ฅผ ์์ ๋ก ์ ๊ณตํ์ฌ in-context learning ํ์ฑํ
- Perception-Action ์ฐ๊ฒฐ: detect_objects(), is_empty() ๋ฑ perception API์ robot.set_velocity(), pick_place() ๋ฑ control primitive API๋ฅผ Python ์ฝ๋์์ ์กฐํฉ
- Hierarchical code-gen: ๋ฏธ์ ์ ํจ์์ ๋ํด LLM์ ์ฌ๊ท์ ์ผ๋ก ํธ์ถํ์ฌ ํจ์ ์ ์๋ฅผ ์๋์ผ๋ก ์์ฑ
- Third-party library ํ์ฉ: NumPy(์ ๋ณด๊ฐ), Shapely(๋ํ ์์ฑ/๋ถ์) ๋ฑ ๊ธฐ์กด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํ ๊ณต๊ฐ-๊ธฐํ ์ถ๋ก
- Control parameter ์ถ๋ก : ๋ชจํธํ ํํ("faster", "to the left")์ ์ฝ๋ ๋ฌธ๋งฅ์ ๊ธฐ๋ฐํ์ฌ ๊ตฌ์ฒด์ ์ธ ์์น๊ฐ(์๋, ์์น)์ผ๋ก ๋ณํ
- ๋ํํ ์ธํฐํ์ด์ค: say() API๋ฅผ ํตํด ๋ก๋ด์ด ์์ ์ ํ๋์ ์ธ์ด๋ก ์ค๋ช
ํ๋ human-robot dialogue ๊ตฌํ
Originality
- ๊ธฐ์กด์ LLM ๊ธฐ๋ฐ ๋ก๋ด ์ ์ด๊ฐ ๊ณ ์์ค planning๋ง ๋ด๋นํ๋ ๊ฒ์์ ๋ฒ์ด๋, policy code ์์ฑ์ ํตํด ์ ์์ค control๊น์ง ํตํฉํ end-to-end ์ ๊ทผ๋ฒ์ด ์ฐฝ์
- Hierarchical code-gen์ด ๋จ์ ์ฝ๋ ์์ฑ์ ๋์ด ์๋์ผ๋ก ๋ณต์ก๋๋ฅผ ์ฆ๊ฐ์ํค๋ ์ฌ๊ท์ ๊ตฌ์กฐ๋ ๋ก๋ด ์ ์ฑ
ํฉ์ฑ์ ๋ง์ถคํ๋ ๊ธฐ์
- ๊ณต๊ฐ ๊ด๊ณ, ๊ฐ์ฒด ๊ด๊ณ, ํ๋์ ์ธ๊ธฐ ๋ฑ์ ๋จ์ผ Python ์ฝ๋๋ก ํํํ์ฌ ๋ชจํธ์ฑ ์ ๊ฑฐ์ ์ผ๋ฐํ๋ฅผ ๋์์ ๋ฌ์ฑํ๋ ํตํฉ ํํ ๋ฐฉ์
Limitation & Further Study
- LLM์ hallucination ๋ฐ ๊ตฌ๋ฌธ ์ค๋ฅ ๊ฐ๋ฅ์ฑ: ์์ฑ๋ ์ฝ๋์ ์์ ์ฑ๊ณผ ์ ๋ขฐ์ฑ์ ๋ํ ๊ฒ์ฆ ๋ฉ์ปค๋์ฆ์ด ๋ถ์ฌํ ์ ์์
- Perception API์ ์ ํ๋ ์์กด์ฑ: ๊ฐ์ฒด ๊ฐ์ง ์ค๋ฅ๊ฐ ์ ์ฑ
์คํ์ ํฌ๊ฒ ๋ฐฉํดํ ์ ์์ผ๋, ๋
ผ๋ฌธ์์ perception robustness ๋ถ์์ด ์ ํ์
- ์ค์๊ฐ ์ฑ๋ฅ: LLM ์ถ๋ก ์๊ฐ์ด ๋ก๋ด์ ๋น ๋ฅธ ๋ฐ์์ ์๊ตฌํ๋ ๊ณ ์ ์ ์ด์ ์ ํฉํ์ง ๋ฏธํ์ธ
- Scalability ๋ฌธ์ : ๋งค์ฐ ๋ณต์กํ ๋ค๋จ๊ณ ์์
์ด๋ high-frequency control์์์ ์ฑ๋ฅ ํ๊ณ ๊ฐ๋ฅ์ฑ
- ํ์ ์ฐ๊ตฌ: ์์ฑ ์ฝ๋์ ์ ํ์ฑ ๊ฒ์ฆ ๋ฐ ์๋ ์์ ๋ฉ์ปค๋์ฆ, ์ค์๊ฐ ์ฑ๋ฅ ์ต์ ํ, ์คํจ ๋ณต๊ตฌ ๋ฅ๋ ฅ ๊ฐํ ํ์
Evaluation
Novelty: 4/5 Technical Soundness: 3/5 Significance: 4/5 Clarity: 4/5 Overall: 4/5
์ดํ: ์ด ๋
ผ๋ฌธ์ LLM์ ๋ก๋ด ์ ์ฑ
์์ฑ์ ์ง์ ์ ์ฉํ๋ ์ฐฝ์์ ์ธ ๋ฐฉ์์ ์ ์ํ๋ฉฐ, hierarchical code-gen์ ํตํ ์ฑ๋ฅ ๊ฐ์ ๊ณผ ๋ค์ํ ์ค์ ๋ก๋ด ํ๋ซํผ์์์ ๊ฒ์ฆ์ผ๋ก ๊ฐํ ์ํฉํธ๋ฅผ ๊ฐ์ง๋ค. ๋ค๋ง ์์ฑ ์ฝ๋์ ์์ ์ฑ ๊ฒ์ฆ๊ณผ ์ค์๊ฐ ์ฑ๋ฅ ํ๊ฐ๊ฐ ๋ณด์๋๋ฉด ๋์ฑ ์์ฑ๋ ๋์ ์ฐ๊ตฌ๊ฐ ๋ ๊ฒ์ด๋ค.
๐ง Audio Overview
์ด ๋
ผ๋ฌธ ๋ฆฌ๋ทฐ๋ฅผ ํ์บ์คํธํ ์ค๋์ค๋ก ์์ฑํฉ๋๋ค. (Gemini ยท ํค๋ ๋ธ๋ผ์ฐ์ ์๋ง ์ ์ฅ ยท ์์ฑ๋ณธ์ ์ด๋ฉ์ผ๋ก๋ ์ ์ก)
โธ ๊ณ ๊ธ: ๊ตฌ์ฑ ๋ฐฉํฅ(๋๋ณธ ์์ฑ ์ง์นจ) ์ง์ ์์