๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€ 174

[๋Ÿฌ๋‹ ์ŠคํŒŒํฌ] ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ์Šคํ‚ค๋งˆ

์ŠคํŒŒํฌ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์€ ํŒ๋‹ค์Šค ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์— ์˜ํ–ฅ์„ ๋ฐ›์•„ ๋งŒ๋“ค์–ด์ ธ ์ด๋ฆ„ ์žˆ๋Š” ์นผ๋Ÿผ๊ณผ ์Šคํ‚ค๋งˆ๋ฅผ ๊ฐ€์ง„ ๋ถ„์‚ฐ ์ธ๋ฉ”๋ชจ๋ฆฌ ํ…Œ์ด๋ธ”์ฒ˜๋Ÿผ ๋™์ž‘ํ•œ๋‹ค. ์Šคํ‚ค๋งˆ Schema ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์˜ ์นผ๋Ÿผ ์ด๋ฆ„๊ณผ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ •์˜ํ•œ ๊ฒƒ์ด๋‹ค. ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด๋“ค์ผ ๋•Œ ์ž๋™์œผ๋กœ ์ •์˜๋˜๊ฒŒ ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๋ฏธ๋ฆฌ ์Šคํ‚ค๋งˆ๋ฅผ ์ •์˜ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์žฅ์ ์ด ์žˆ๋‹ค. ๐Ÿ’ก ์ŠคํŒŒํฌ๊ฐ€ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ถ”์ธกํ•ด์•ผ ํ•˜๋Š” ์ฑ…์ž„์„ ๋œ์–ด ์คŒ์œผ๋กœ์จ, ์Šคํ‚ค๋งˆ ํ™•์ •์„ ์œ„ํ•œ ๋ณ„๋„์˜ ์žก์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค. ๐Ÿ’ก ๋ฐ์ดํ„ฐ๊ฐ€ ์Šคํ‚ค๋งˆ์™€ ๋งž์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์กฐ๊ธฐ์— ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์Šคํ‚ค๋งˆ๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” pyspark.sql.types์—์„œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ถˆ๋Ÿฌ์™€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์Šคํƒ€์ผ๋กœ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐ ํ•„๋“œ์˜ ์ด๋ฆ„๊ณผ Type์„ ..

[๋Ÿฌ๋‹ ์ŠคํŒŒํฌ] ์ŠคํŒŒํฌ ์—ฐ์‚ฐ์˜ ์ข…๋ฅ˜

์ŠคํŒŒํฌ ์—ฐ์‚ฐ์˜ ์ข…๋ฅ˜ ์ŠคํŒŒํฌ ์—ฐ์‚ฐ์€ ํŠธ๋žœ์Šคํฌ๋ฉ”์ด์…˜๊ณผ ์•ก์…˜ ๋‘๊ฐ€์ง€ ์ข…๋ฅ˜๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. ํŠธ๋žœ์Šคํฌ๋ฉ”์ด์…˜์€ ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ  ํ•˜๋‚˜์˜ ์ŠคํŒŒํฌ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์„ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์œผ๋กœ ๋ณ€ํ˜•ํ•˜๋Š” ๊ฒƒ์ด๊ณ , ์•ก์…˜์€ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๋†“์•„์•ผ ํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. ๊ฐ ์—ฐ์‚ฐ์˜ ์˜ˆ์‹œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์—ฐ์‚ฐ ์ข…๋ฅ˜ ์˜ˆ์‹œ ํŠธ๋žœ์Šคํฌ๋ฉ”์ด์…˜ orderBy, groupBy, filter, select, join ์•ก์…˜ show, take, count, collect, save ์—ฐ์‚ฐ์˜ ์‹คํ–‰ ๋ชจ๋“  ํŠธ๋žœ์Šคํฌ๋ฉ”์ด์…˜ ์—ฐ์‚ฐ์€ ์ฆ‰์‹œ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  ๋ฆฌ๋‹ˆ์ง€ ํ˜•ํƒœ๋กœ ๊ธฐ๋ก๋œ๋‹ค. ์•ก์…˜ ์—ฐ์‚ฐ์ด ์‹คํ–‰๋  ๋•Œ ๊ทธ๋™์•ˆ ๊ธฐ๋ก๋œ ํŠธ๋žœ์Šคํฌ๋ฉ”์ด์…˜ ์—ฐ์‚ฐ๋“ค์ด ๋ฐœ๋™๋œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ณด๋‹ค ํšจ์œจ์ ์ธ ์‹คํ–‰๊ณผ ์ตœ์ ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ข์€ ์˜์กด์„ฑ๊ณผ ๋„“์€ ์˜์กด์„ฑ ํŠธ๋žœ์Šคํฌ๋ฉ”์ด์…˜์€ ์ข์€ ์˜์กด์„ฑ๊ณผ ๋„“์€ ์˜์กด..

[๋”ฅ๋Ÿฌ๋‹ ๋…ผ๋ฌธ๋ฆฌ๋ทฐ] AdamP: Slowing Down the Slowdown for Momentum Optimizers on Scale-invariant Weights (Naver AI Lab, ICLR 2021)

Adam์˜ ๋ฌธ์ œ์ ์„ ๊ทน๋ณตํ•˜๋Š” ์ƒˆ๋กœ์šด optimizer์ธ AdamP๋ฅผ ์ œ์•ˆํ•˜๋Š” ๋…ผ๋ฌธ์œผ๋กœ, Naver AI Lab & Naver Clova์—์„œ ICLR 2021์— ๋ฐœํ‘œํ•˜์˜€๋‹ค. Paper: https://arxiv.org/pdf/2006.08217.pdf Project page: https://clovaai.github.io/AdamP/ Code: https://github.com/clovaai/adamp 1. Adam์˜ ๋ฌธ์ œ์  ์š”์•ฝ: Adam์„ ๋น„๋กฏํ•œ momentum-based gradient descent optimzer๋“ค์€ ํ•™์Šต ๋„์ค‘ weight norm์„ ํฌ๊ฒŒ ์ฆ๊ฐ€์‹œํ‚จ๋‹ค. ๊ทธ ์›์ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๋ชจ๋ธ๋“ค์—์„œ Batch normalization ๋“ฑ์˜ normalization ๊ธฐ๋ฒ•๋“ค์„ ์‚ฌ์šฉํ•ด we..

/etc/profile, /etc/bash.bashrc, ~/.bashrc, ~/.bash_profile ํŒŒ์ผ์˜ ์ฐจ์ด์ 

์œ ์ €๊ฐ€ ๋กœ๊ทธ์ธํ•  ๋•Œ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ bash ์„ค์ •ํŒŒ์ผ๋“ค์„ ์ฝ๊ฒŒ ๋œ๋‹ค. 1. /etc/profile ์‹คํ–‰: ์‹œ์Šคํ…œ ์ „์—ญ์— ๋Œ€ํ•œ ํ™˜๊ฒฝ์„ค์ •. ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. - `/etc/bash.bashrc` ์‹คํ–‰ → ์‹œ์Šคํ…œ ์ „์ฒด์˜ non-login shell ํ™˜๊ฒฝ์„ค์ • - `/etc/profile.d` ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์˜ ์ถ”๊ฐ€ ์„ค์ • ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰. 2. ~/.bash_profile, ~/.bash_login, ~/.profile ์ค‘ ํ•˜๋‚˜ ์‹คํ–‰: ๊ฐœ์ธ ํ™˜๊ฒฝ ์„ค์ • - ์ผ๋ฐ˜์ ์œผ๋กœ `~/.bashrc`๋ฅผ ์‹คํ–‰ํ•œ๋‹ค - ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด login shell๊ณผ non-login shell ๋ชจ๋‘์—์„œ `~/.bashrc`๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

HuggingFace Space ๋งŒ๋“ค๊ธฐ

HuggingFace Space๋Š” ๊ฐ„ํŽธํ•˜๊ณ  ์‰ฝ๊ฒŒ ML ๋ฐ๋ชจ ์•ฑ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด๋‹ค. Spaces - Hugging Face Spaces Discover amazing ML apps made by the community! huggingface.co Space๋“ค์˜ ์˜ˆ์‹œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 1: text-to-image Rich Text To Image - a Hugging Face Space by songweig huggingface.co 2: chat-with-GPT4 Chat-with-GPT4 - a Hugging Face Space by ysharma huggingface.co ๋ณธ ๊ธ€์—์„œ๋Š” ์ด๋Ÿฌํ•œ HuggingFace Space๋ฅผ ๋งŒ๋“œ๋Š” ๋ฒ•์— ๋Œ€ํ•ด ๊ฐ„๋žตํžˆ ์†Œ๊ฐœํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๋ณด๋‹ค ์ž์„ธํ•œ ์„ค๋ช…์€ ๊ณต์‹..

PyTorch 2.0์—์„œ ๋‹ฌ๋ผ์ง€๋Š” ์  - torch.compile

PyTorch 2.0 Overview pytorch.org PyTorch 2.0์€ 22๋…„ 12์›” PyTorch Conference์—์„œ ๋ฐœํ‘œ๋˜์—ˆ๊ณ , 23๋…„ 3์›” ์ •์‹ ๋ฆด๋ฆฌ์ฆˆ ๋˜์—ˆ๋‹ค. ์ด์ „์˜ PyTorch 1.x ๋ฒ„์ „๋“ค๋ณด๋‹ค ๋น ๋ฅด๊ณ , Pythonicํ•˜๊ณ  Dynamicํ•˜๋‹ค๊ณ  ํ•œ๋‹ค. ์–ด๋–ค ์ ๋“ค์ด ๋‹ฌ๋ผ์กŒ์„์ง€ ํ•œ๋ฒˆ ์•Œ์•„๋ด…์‹œ๋‹ค. torch.compile torch.compile์€ PyTorch 2.0์˜ ๋ฉ”์ธ API์ด๋‹ค. ๋ชจ๋ธ์„ ๋ฏธ๋ฆฌ ์ปดํŒŒ์ผํ•˜์—ฌ ์†๋„๋ฅผ ๋†’์ด๋Š” ๊ธฐ์ˆ ์ด๋‹ค. torch.compile์€ TorchDynamo, AOTAutograd, PrimTorch, TorchInductor ๋„ค ๊ฐ€์ง€์˜ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค. ๊ฐ ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ ์—ฌ๊ธฐ์—์„œ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ๋ฒ• torch.compile์€..

ํด๋”๋ณ„๋กœ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” direnv

https://github.com/direnv/direnv GitHub - direnv/direnv: unclutter your .profile unclutter your .profile. Contribute to direnv/direnv development by creating an account on GitHub. github.com direnv๋Š” ํด๋”๋ณ„๋กœ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฅด๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํˆด์ด๋‹ค. 1. ์„ค์น˜๋ฐฉ๋ฒ• apt-get install direnv #Linux brew install direnv #MacOS 2. shell์— hook ์„ค์ • ์‚ฌ์šฉํ•˜๋Š” shell์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ hook์„ ์„ค์ •ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. 2.1. bash vi ~/.bashrc #๋งจ ์•„๋ž˜์— ๋‹ค์Œ ๋‚ด์šฉ ์ถ”๊ฐ€ eval "$(dir..

[PyTorch Lightning] checkpoint ์ €์žฅํ•˜๊ธฐ

๊ธฐ๋ณธํŽธ - ์ž๋™ ์ €์žฅ Saving and loading checkpoints (basic) — PyTorch Lightning 1.9.0 documentation Shortcuts pytorch-lightning.readthedocs.io PyTorch Lightning์˜ Trainer์„ ์ด์šฉํ•ด ํ•™์Šต์„ ์ง„ํ–‰ํ•˜๋ฉด, ์ž๋™์œผ๋กœ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ training epoch์˜ checkpoint๋ฅผ ์ €์žฅํ•ด์ค€๋‹ค. trainer = Trainer() ๋งŒ์•ฝ checkpoint๊ฐ€ ์ €์žฅ๋˜๋Š” ์œ„์น˜๋ฅผ ๋ฐ”๊พธ๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. trainer = Trainer(default_root_dir='path/to/') ํ˜น์€ ๋ณ„๋„๋กœ checkpoint ์ €์žฅ์„ ํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง€์ •ํ•˜๋ฉด ๋œ๋‹ค. trainer = Tr..

[PyTorch Lightning] ๋กœ๊ทธ ๊ธฐ๋ก, Tensorboard๋กœ Loggingํ•˜๊ธฐ

Logging — PyTorch Lightning 1.8.6 documentation Shortcuts pytorch-lightning.readthedocs.io ๋กœ๊ทธ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•์€ Lightening Module์—์„œ self.log()๋‚˜ self.log_dict()๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค. def training_step(self, batch, batch_idx): self.log_dict({'acc': acc, 'recall': recall}) self.log('acc', acc) logging (log(), log_dict() ๋ชจ๋‘ ๋™์ผํ•˜๊ฒŒ ์ ์šฉ) ์˜ ์ค‘์š”ํ•œ ์ธ์ž๋Š” on_step๊ณผ on_epoch์ด๋‹ค. on_step: ํ˜„์žฌ step์— logging on_epoch: ๋กœ๊ทธ๋ฅผ ์ถ•์ ํ•˜์—ฌ epoch ๋งˆ์ง€๋ง‰์— ..

VSCode ์œ ์šฉํ•œ ๋‹จ์ถ•ํ‚ค ๋ชจ์Œ

VSCode ๋‹จ์ถ•ํ‚ค ์„ค์ •์€ ์ขŒ์ธกํ•˜๋‹จ [Manage] ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ [Keyboard Shortcuts]๋กœ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. 1. Go to File (Windows: ctrl+p / Mac: cmd+p) ํŒŒ์ผ๋ช…์„ ๊ฒ€์ƒ‰ํ•ด์„œ ๋ฐ”๋กœ openํ•  ์ˆ˜ ์žˆ๋‹ค. 2. Go to Line/Column (Windows: ctrl+g / Mac: cmd+g) ํŠน์ • ๋ผ์ธ์œผ๋กœ ๋ฐ”๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. 3. Toggle Vertical/Horizontal Editor Layout (Windows: alt+ctrl+o / Mac: alt+cmd+o) ์—๋””ํ„ฐ ๊ทธ๋ฃน์„ transposeํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์œ„์•„๋ž˜๋กœ ๊ทธ๋ฃน์ด ๋ฐฐ์น˜๋˜์–ด ์žˆ์—ˆ์œผ๋ฉด ์ขŒ์šฐ ๋ฐฐ์น˜๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜์‘ํ˜•