Hugging Face Hub๊ฐ emissions_threshold ํ๋ผ๋ฏธํฐ์ codecarbon ํตํฉ์ผ๋ก ML ๋ชจ๋ธ์ CO2 ๋ฐฐ์ถ๋ ์ถ์ ๋ฐ ๊ฒ์ ๊ธฐ๋ฅ ์ ๊ณต
CO2 Emissions and the ๐ค Hub: Leading the Charge
AI ์์ฝ
Context
ML ๋ชจ๋ธ ํ์ต ๋ฐ ๋ฐฐํฌ ๊ณผ์ ์์ GPU, ์คํ ๋ฆฌ์ง ๋ฑ ์ปดํจํ ์ธํ๋ผ์ ์๋์ง ์ฌ์ฉ์ผ๋ก ์ธํ CO2 ๋ฐฐ์ถ์ด ๋ฐ์ํ๋ค. ๊ธฐ์กด์๋ ๋ชจ๋ธ์ ํ์ ๋ฐ์๊ตญ(carbon footprint)์ ์ถ์ ํ๊ฑฐ๋ ์ ๋ฐฐ์ถ ๋ชจ๋ธ์ ์ฐพ์ ์ ์๋ ํ์คํ๋ ๋ฐฉ๋ฒ์ด ์์๋ค.
Technical Solution
- huggingface_hub ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ emissions_threshold ํ๋ผ๋ฏธํฐ ์ถ๊ฐ: ์ต์/์ต๋ ๊ทธ๋จ ๋จ์๋ก CO2 ๋ฐฐ์ถ๋ ๋ฒ์๋ฅผ ์ง์ ํ์ฌ ๋ชจ๋ธ ๊ฒ์
- HfApi.list_models() ๋ฉ์๋์ emissions_threshold ์ต์ ์ ์ฉ: cardData=True์ ํจ๊ป ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ co2_eq_emissions ๋ฉํ๋ฐ์ดํฐ ์กฐํ
- transformers ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ codecarbon ํตํฉ: Trainer ๊ฐ์ฒด๊ฐ ์๋์ผ๋ก CodeCarbonCallback ์ถ๊ฐํ์ฌ ํ์ต ์ค ํ์ ๋ฐฐ์ถ๋ ๊ธฐ๋ก
- emissions.csv ํ์ผ ์๋ ์์ฑ: ๊ฐ ํ์ต ์คํ๋ง๋ค ํ์ ๋ฐฐ์ถ ๋ฐ์ดํฐ๋ฅผ codecarbon ๋๋ ํ ๋ฆฌ์ ์ ์ฅ
- ๋ชจ๋ธ ์นด๋ ๋ฉํ๋ฐ์ดํฐ ํ์คํ: co2_eq_emissions ํ๋๋ฅผ ๋ชจ๋ธ ์นด๋ ์๋จ์ ํฌํจํ์ฌ ๊ณต๊ฐ
Impact
- ์ต๋ 100๊ทธ๋จ CO2 ์ดํ๋ก ํ์ต๋ ๋ชจ๋ธ: 191๊ฐ ๋ฐ๊ฒฌ ๊ฐ๋ฅ
- 500๊ทธ๋จ ์ด์ CO2 ๋ฐฐ์ถ ๋ชจ๋ธ: 10๊ฐ ๊ฒ์ ๊ฐ๋ฅ (์ต๋๊ฐ 4009.5๊ทธ๋จ)
Key Takeaway
ML ์ปค๋ฎค๋ํฐ์ ํฌ๋ช ์ฑ ํฅ์์ ์ํด ํ์คํ๋ ๋๊ตฌ๋ก ํ์ ๋ฐฐ์ถ๋์ ์๋ ๊ณ์ฐํ๊ณ ๊ฒ์ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค๋ฉด, ์์ง๋์ด๋ค์ด ํ๊ฒฝ์ ๊ณ ๋ คํ ๋ชจ๋ธ ์ ํ ๋ฐ ๊ฐ๋ฐ ๊ฒฐ์ ์ ์ฆ๊ฐ์ ์ผ๋ก ๋ด๋ฆด ์ ์๋ค.
์ค์ฒ ํฌ์ธํธ
Transformers๋ก ML ๋ชจ๋ธ์ ํ์ตํ๋ ํ์์ codecarbon ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ Trainer ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ฉด, ์ถ๊ฐ ์ฝ๋ ์์ด ์๋์ผ๋ก emissions.csv ํ์ผ์ ํ์ ๋ฐฐ์ถ๋์ด ๊ธฐ๋ก๋๋ฉฐ, ์ด๋ฅผ ๋ชจ๋ธ ์นด๋์ co2_eq_emissions ๋ฉํ๋ฐ์ดํฐ๋ก ํฌํจ์์ผ Hugging Face Hub์ ๊ณต๊ฐํ ์ ์๋ค.