2023 ์ค‘๋ ฅํŒŒ ๋ฐ ์ˆ˜์น˜์ƒ๋Œ€๋ก  ๊ฒฝ์ง„๋Œ€ํšŒ - AI for Science (NVIDIA)

2023. 3. 16. 22:36ใ†Science/2023GWNRWinter

 

 

 

 

AI for Science (NVIDIA)


GPU ๊ฐ€์†
    - ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ
    - ํฌํŠธ๋ž€, cpp, python์—์„œ๋„ GPU ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅ
        - Ex) CUPY(numpy), RAPIDS(pandas์˜ GPU ๋ฒ„์ „), CUML(์‚ฌ์ดํ‚ท๋Ÿฐ ๊ฐ™์€)
        - CFD ์‹œ๋ฎฌ๋ ˆ์ด์…˜, N-body ์‹œ๋ฎฌ๋ ˆ์ด์…˜(GPU๊ฐ€ ์ž˜ ์ ์šฉ๋˜๋Š” ๋ถ„์•ผ), ์šฐ์ฃผ๋ก , ๋ถ„์ž๋™์—ญํ•™ ๊ณ„์‚ฐ ์‹œ
        - 3์ค‘ loop -> x,y,z ๋ฐฉํ–ฅ์œผ๋กœ ์ค‘๋ ฅ ๊ณ„์‚ฐ -> GPU ํฌํŒ…ํ•  ๋•Œ ์ด๋Ÿฌํ•œ ๊ณ„์‚ฐ์„ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. 
        - ํ•œ ์ค„ ๋„ฃ์œผ๋ฉด, GPU ๊ฐ€์†ํ•ด์„œ ์ˆ˜๋ฐฑ๋ฐฐ ๋น ๋ฅด๊ฒŒ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค. 
    - ์—ฌ๊ธฐ๊ฐ€ AI ๋„์ž…ํ•˜๊ธฐ ์ „, GPU ๊ฐ€์†์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ

AI : ๋ณธ๊ฒฉ์ ์œผ๋กœ ์ธ๊ณต์ง€๋Šฅ ๋ถ„์•ผ
    - Data driven
        - Chat-GPT(openAI 3.5): AI ๋ถ„์•ผ๊ฐ€ ๊ฐ๊ด‘
        - ์•™์ƒ๋ธ” ๋ชจ๋ธ (Switch) -> parameter ์ˆ˜ ๋งŽ์•„ ๋ณด์ด๋Š” ๊ฒƒ
        - ๋ชจ๋ธ ์‚ฌ์ด์ฆˆ๋ฅผ ๋Š˜๋ฆด์ˆ˜๋ก ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋“ค์ด ๋Š˜์–ด๋‚œ๋‹ค. (์–ธ์–ด ๋ชจ๋ธ ๊ธฐ์ค€)
            - Chat-GPT ๊ฒฝ์šฐ - (๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ ์‚ฌ์ด์ฆˆ, ํ•™์Šต ๋ฐ์ดํ„ฐ, ์ปดํ“จํ„ฐ ๋ฆฌ์†Œ์Šค) ์…‹ ๋‹ค ์ ์ ˆํžˆ ๋Š˜์–ด๋‚˜์•ผ ํ•จ
        - ์•„์นด๋ฐ๋ฏธ์—์„œ ์˜ฌ๋ฆฐ ๋ชจ๋ธ์ด ์‚ฌ๋ผ์ง€๊ณ  ์žˆ๋‹ค - ๋Œ€๋ถ€๋ถ„ ๊ธฐ์—…์—์„œ ๊ฐœ๋ฐœ (๊ตฌ๊ธ€, openAI ๋“ฑ๋“ฑ)
        - Input(๋„๋ฉ”์ธ) - output(ํ”Œ๋กœ์šฐ)

- AI์˜ ์žฅ์ 
    - Data driven: input output ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ๋„˜์–ด์„ค ์ˆ˜ ์—†๋‹ค.
    - ์žฅ์  - ์‹œ๋ฎฌ๋ ˆ์ด์…˜์€ ๋งค๋ฒˆ RUN
    - AI: ํ•™์Šต์€ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ์ง€๋งŒ, ํ•™์Šต์ด ๋๋‚œ ๋ชจ๋ธ์„ ๊ฐ€์ง€๊ณ  ์„œ๋น„์Šคํ•  ๋•Œ์—๋Š” ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋ณด๋‹ค ํ›จ์”ฌ ํšจ์œจ์ 
    - ๊ธฐํ›„ ๋ฌธ์ œ๋ฅผ AI๋ฅผ ํ†ตํ•ด ๋ถ„์„

- input๊ณผ output์„ ์–ด๋–ป๊ฒŒ ๋„ฃ์„์ง€ ๊ณ ๋ฏผํ•ด์•ผ ํ•จ
- Supervised learning (์ง€๋„ํ•™์Šต)
- Real variable์„ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ๋„ฃ๋Š”๋‹ค. (์‹ค์ œ๋Š” ์ด๋ฏธ์ง€๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐ๊ฐ ๋ณ€์ˆ˜๋“ค ๊ฐ’์„ ์˜๋ฏธ)
- ๋”ฅ๋Ÿฌ๋‹๋„ ๋‰ดํ„ด๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค. 
    - Loss ๋ชฉ์ ํ•จ์ˆ˜์˜ ๋ฏธ๋ถ„์ด ์ž‘์•„์ง€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ•™์Šต ๋ฐ˜๋ณต ์‹œํ–‰
    - ๋ฐฉ์ •์‹์ด ์‹ ๊ฒฝ๋ง์œผ๋กœ ๋ฐ”๋€ ๊ฒƒ
    - Adam optimizer

- ๊ธฐ์ƒ, ๊ธฐํ›„ ๋ชจ๋ธ
    - ๊ฐœ์ธ์ด ์ทจ๋ฏธ์ƒํ™œ๋กœ ์—ฐ๊ตฌํ•œ ๋ชจ๋ธ (์—ฐ๊ตฌ ๊ทธ๋ฃน๊ณผ ์ด๋ฆ„์ด ์—†๋‹ค)
    - ์„ฑ๋Šฅ์ด ์ž˜ ๋‚˜์˜ค๊ณ ,
    - GPU๋ฅผ ํ•œ ์žฅ๋งŒ ์จ์„œ ์˜ค๋ž˜ ๋Œ๋ ธ๋‹ค (1์ฃผ์ผ ์ •๋„)
    - inference๋Š” 0.01์ดˆ (์—”ํ„ฐ ์น˜๋ฉด ๋ฐ”๋กœ ๋‚˜์˜ค๊ฒŒ)
    - Accuracy๋Š” ์กฐ๊ธˆ ๋‚ฎ๋‹ค (ํ•ด์ƒ๋„๋ฅผ ๋‚ฎ์ถ”์—ˆ๋‹ค)
        - ์˜ˆ์‚ฐ์ด ์ปธ๋‹ค๋ฉด ํ•ด์ƒ๋„๋ฅผ ๋” ๋†’์ผ ์ˆ˜ ์žˆ์—ˆ์„ ๊ฒƒ
    - ๊ฐœ์ธ๋„ ์ด๋Ÿฌํ•œ ์—ฐ๊ตฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฐ€๋Šฅ์„ฑ
    - ๊ทธ ์ดํ›„๋กœ ๊ตฌ๊ธ€์ด ๋›ฐ์–ด๋“ฆ

- ํ™”์›จ์ด ์›จ๋” ๋ชจ๋ธ
    - ๊ฑฐ์˜ ์ด์ „์˜ ๋ชจ๋ธ๊ณผ ์œ ์‚ฌ
    - ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ variable -> ์ธ์ฝ”๋”ฉ ๋””์ฝ”๋”ฉ -> ํŒจ์น˜ 
    - ์˜ˆ์ธก ๋ชจ๋ธ
    - Transformer ๋ชจ๋ธ์„ ๊ฐ€์ ธ์™€์„œ ์‚ฌ์šฉํ•จ
    - ์•„๊นŒ์™€ ๋‹ฌ๋ฆฌ ํ•ด์ƒ๋„๊ฐ€ ๋†’๋‹ค (๋น„๋””์˜ค ์ˆ˜์ค€ ์ด๋ฏธ์ง€)
    - ์—ฐ๊ตฌ ๊ฒฐ๊ณผ: ECMWF ๋ชจ๋ธ์€ ํ‹€๋ฆผ - AI๋Š” ์ œ๋Œ€๋กœ ์˜ˆ์ธกํ•จ 
        - ์ฒซ ๋‚ , AI๊ฐ€ ๋” ์ž˜ ๋งž์ท„๋‹ค.
        - Time interval์„ ํ‚ค์šฐ๋‹ˆ๊นŒ ๋” ์ •ํ™•ํ•ด์กŒ๋‹ค. (์—๋Ÿฌ๋ˆ„์ ํšจ๊ณผ)
        - Step size๋ฅผ ํฌ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹๋‹ค (์‹œ๋ฎฌ๋ ˆ์ด์…˜๊ณผ ๋ฐ˜๋Œ€)

Alfhafold2
    - ๋‹จ๋ฐฑ์งˆ ๊ฒฝ์ง„ ๋Œ€ํšŒ CASP
    - Alfhafold1 - ๊ตฌ๊ธ€ ๋”ฅ๋งˆ์ธ๋“œ
    - ๊ตฌ๊ธ€ ๊ณ ๋žฉ์—์„œ ์ฝ”๋žฉํด๋“œ ์ œ๊ณต

MEGAMOLBART
    - ์œ ์‚ฌํ•œ ํ™”ํ•™์‹์„ ์•Œ๋ ค์ค˜ (์„ฑ๋ถ„, ๋…์„ฑ์ด ๋น„์Šทํ•œ)
    - ‘๋ฐ”ํŠธ’๋ผ๋Š” ํŽ˜์ด์Šค๋ถ์ด ์ œ๊ณตํ•˜๋Š” ๋ชจ๋ธ ํ™œ์šฉ
    - ๋ฐ์ดํ„ฐ ์ธํ’‹ ์•„์›ƒํ’‹์„ ์–ด๋–ป๊ฒŒ ๋งž์ถœ์ง€ ๊ณ ๋ฏผ
    - ๋‚ด๋ถ€๋Š” ๊ฐ€์ ธ๋‹ค ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

์ค‘๋ ฅํŒŒ
    - ์บ๊ธ€ ๊ฒฝ์ง„๋Œ€ํšŒ ์ค‘๋ ฅํŒŒ ๋ฌธ์ œ
        - ์ง€๋‚œ ๋‹ฌ์— ์—ด๋ ธ๋‹ค.
        - ์ค‘๋ ฅํŒŒ detector ๋งŒ๋“œ๋Š” ์ฒผ๋ฆฐ์ง€์— ๋“ฑ๋กํ•˜์ž
    - ์บ๊ธ€์˜ science / NVIDIA์— ์—ฐ๋ฝํ•˜๋ฉด ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.
    - ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ•˜๋Š” ๊ฒƒ์„ ํŒŒ์ด์ฌ์œผ๋กœ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. 
    - ๋…ธ์ด์ฆˆ๊ฐ€ ๋งŽ๋‹ค -> ๋…ธ์ด์ฆˆ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๊ต‰์žฅํžˆ ํฐ ์ผ
    - Feature engineering (ํŠน์„ฑ ๊ณตํ•™ - Q-transform ์ด๊ฒŒ ์—ฌ๊ธฐ์— ํ•ด๋‹น)
    - ๋”ฅ๋Ÿฌ๋‹์€ ๋ชจ๋ธ ๊ฐ–์ ธ์™€ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค
        - TIMM์œผ๋กœ ๋Œ์–ด์™€์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋จ
        - ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ•ด์„œ chirp ์‹œ๊ทธ๋„์„ ๋งŒ๋“ค๊ณ , freq ์ฃผ๊ธฐ ๋งŒ๋“ค์–ด์„œ 
        - ๊ทธ๋ƒฅ ํ•˜์ง€ ์•Š๊ณ  ๋…ธ์ด์ฆˆ๊ฐ€ ๊ต‰์žฅํžˆ ํฌ๋‹ค -> ๋…ธ์ด์ฆˆ์•ˆ์— ์‹œ๊ทธ๋„์„ ๋„ฃ์—ˆ์„ ๋•Œ ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š”๊ฐ€?
        - SNR๋น„์œจ์ด ์•ˆ ์ข‹์€ ๋ฐ์ดํ„ฐ์— ์†ํ•œ๋‹ค.
    - ์นด๋””์•… (์‹ฌ์žฅ ๋ชจ์–‘์˜ ํŽธํ–ฅ ๋งˆ์ดํฌ)

- Normalization (Log scale ์กฐ์‹ฌ)
- Noise ์ง‘์–ด๋„ฃ๊ธฐ, ์†๋„ ์กฐ์ ˆํ•˜๊ธฐ(์ค‘๋ ฅํŒŒ๋„ ๊ฐ™๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. m1, m2 ์กฐ์ ˆ ๋“ฑ๋“ฑ)
- ์ตœ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
- ๋ชจ๋ธ์€ ๋‚˜์™€์žˆ๋Š” ๋ชจ๋ธ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค (CNN, LSTM, ํŠธ๋žœ์Šคํฌ๋จธ)
- ๋ชฉ์ ํ•จ์ˆ˜ - ์‹œ๊ณ„์—ด - C2C loss, ๋‹ค์–‘ํ•œ ๋กœ์Šค๊ฐ€ ์žˆ๋‹ค.

- ๊ด€์ธกํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์ฒ˜๋ฆฌ
- ์˜คํžˆ๋ ค ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์€ ๊ณ ๋ฏผํ•  ๊ฒŒ ์—†๋‹ค
- ๊ฐ€์ด๋“œ๊ฐ€ ์žˆ์œผ๋ฉด ์ข‹๋‹ค
- ๋‘๋ฒˆ์งธ ์บ๊ธ€ ๊ฒฝ์ง„๋Œ€ํšŒ
    - ์ „์ฒ˜๋ฆฌํ•œ input์„ ์ค€๋‹ค.
    - label์„ ์ค€๋‹ค (์ค‘๋ ฅํŒŒ๋‹ค or ์•„๋‹ˆ๋‹ค)
        - ์ค‘๋ ฅํŒŒ๋ฅผ ์ž˜๊ฒŒ ๋Š์–ด์„œ suffle ์‹œ์ผœ๋‘”๋‹ค. 
        - ๋ฐ์ดํ„ฐ๊ฐ€ chirp ์œ„์น˜๋ฅผ ๋žœ๋ค์œผ๋กœ ๋ฐ”๊พธ๊ณ  ๋“ฑ๋“ฑ

- Data Driven Approach
    - ๋ฐ์ดํ„ฐ ๋ชจ๋“ˆ๋“ค
        - ์—”์ง€๋‹ˆ์–ด๋ง์€ ํŽธํ•ด์กŒ๋‹ค -> ๊ฐ€์ ธ์™€์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋จ
        - ๊ณ ๋ฏผํ•  ๊ฒƒ์€ ๋ฐ์ดํ„ฐ, Task, ๋ชฉ์ ํ•จ์ˆ˜ ๋ญ ์“ธ ๊ฑด์ง€ ๋“ฑ๋“ฑ

MLP

    - ๋ฉ€ํ‹ฐ ๋ ˆ์ด์–ด ํผ์…‰ํŠธ๋ก 
    - CNN -> ํŠธ๋žœ์Šคํฌ๋จธ -> ๋‹ค์‹œ MLP๋กœ ํšŒ๊ท€

PINN (Physics informed neural network)
    - Physics๋Š” ๋‚ด์žฌ๋œ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ
    - ๋ฌผ๋ฆฌ ์ •๋ณด๋ฅผ ์ง‘์–ด๋„ฃ์–ด์„œ ๋Œ๋ฆฌ์ž 
    - ์ง€๊ธˆ์€ ๊ต‰์žฅํžˆ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ (๋ฐ์ดํ„ฐ๋งŒ ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ)
    - information์— ์˜ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด์„œ ํ•™์Šต
    - ์‹ ๊ฒฝ๋ง ํ’€์ด๊ฐ€ ๋‰ดํ„ด๋ฒ• ํ’€์ด์™€ ๋งค์šฐ ์œ ์‚ฌ
        - ํ•ด๋‹น ๊ธฐ๋ฒ•์„ ์—ฌ๊ธฐ์— ์ฑ„ํƒํ•œ๋‹ค. 
        - ์ปจ์…‰ - ์‹ ๊ฒฝ๋ง์„ ํ’€ ๋•Œ, ๋ฌผ๋ฆฌ ๋ฐฉ์ •์‹์„ ํ’€์–ด๋ผ
        - ๊ทธ๋Ÿด๊บผ๋ฉด ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ•˜์ง€? ์™œ?
        - AI ์žฅ์ : ํ•™์Šต์€ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ์ง€๋งŒ, ํ•™์Šต์ด ๋๋‚œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์ฆ‰์‹œ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
            - Parameter, condition์ด ๋ฐ”๋€Œ๋”๋ผ๋„, model parameter๋งŒ ์žˆ์œผ๋ฉด ok

- ๋‹ค๋ฅธ ๊ฐ’์„ ์˜ˆ์ธกํ•˜๋Š” ๊ฒฝ์šฐ (2์ฐจ ํ•จ์ˆ˜์˜ ์™ผํŽธ๋งŒ ๋ณด๊ณ  ์ง์„ ์œผ๋กœ ์˜ˆ์ธก)
    - ํ•ด๊ฒฐ์ฑ… - ๋ชจ๋“  data์— ๋Œ€ํ•œ ํฌ์ธํŠธ๋ฅผ ์ฃผ๋ฉด ํ•ด๊ฒฐ๋จ 
    - ๊ฐ€์ด๋“œ ํŠธ๋ ˆ์ด๋‹ (์ปจ์…‰)
    - ๋ฐ์ดํ„ฐ ๋“œ๋ฆฌ๋ธ + ํ”ผ์ง์Šค -> ๋ฌธ์ œ ์—†์ด ํ•ด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

- 4๋‹จ๊ณ„
    - ์‹ ๊ฒฝ๋ง ๊ตฌ์ถ• (๋‰ด๋Ÿด๋„ท ์ƒ์„ฑ, ๋ฏธ๋ถ„์‹ ํ‘œํ˜„)
    - Geometry (1D, 2D, 3D)
    - Loss func (mse๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค)
    - Test(๋ชจ๋“ˆ๋Ÿฌ์Šค SDK๋ฅผ ๋‹ค์šด๋ฐ›์•„ ์‚ฌ์šฉ)