전체 글 45

Applicaiton: interview

인터뷰 준비는 10월부터 진행했다. 내가 준비했던 notion을 여기에 첨부하도록 하겠다. https://frost-faucet-55b.notion.site/Interview-4445aab0c4f94b3f99fda8088d322bf9 나는 학교 페이지에서 같이 인터뷰 준비를 할 사람을 구했고, 지금까지도 친하다. 하하 역시 같이 역경을 이겨내니 전우애가 생기는 것 같다. 같이 준비한 친구는 진짜 열심히 논문도 쓰고 여러모로 본받을만한 친구였다. 노션에는 내가 준비했던 답변, 준비했던 문제와 팁을 모아두었다. 여러 인터넷 사이트들을 다 모아보았고, 이런 문제들을 참고하면 좋을 것 같다. 기본적인 문제들에 대한 것들을 외우다시피 준비를 했다. 특히 나는 영어를 못하는 편이라서, 스킴을 짜고 어떤 문제에 대해..

JAX 공부 5 - Control Flow

https://jax.readthedocs.io/en/latest/notebooks/Common_Gotchas_in_JAX.html을 공부하면서 작성 중이다. 🔪 JAX - The Sharp Bits 🔪 — JAX documentation jax.readthedocs.io @jit def f(x): if x < 3: return 3. * x ** 2 else: return -4 * x # This will fail! try: f(2) except Exception as e: print("Exception {}".format(e)) 안 되는 것을 확인 가능하다. 이걸 작성하면서 살짝 이해한 거 같음. jit의 특성이랑 꽤 관련이 있다. 어쨌든 전에 cache에 저장 도면서 머가 될지를 결정해야 하는데, t..

연구/JAX 2022.07.18

JAX 공부 4 - out of bounds indexing, non array input, random numbers

https://jax.readthedocs.io/en/latest/notebooks/Common_Gotchas_in_JAX.html 🔪 JAX - The Sharp Bits 🔪 — JAX documentation jax.readthedocs.io Out of bound를 만나면 그냥 실행을 안 해버린다. (넘겨서 실행한다). Non array input은 다음과 같다. try: jnp.sum([1, 2, 3]) except TypeError as e: print(f"TypeError: {e}") TypeError: sum requires ndarray or scalar arguments, got at position 0. 즉, 기존의 numpy와 다르게 list를 안 받는 걸 체크할 수 있다. 사실 이 ..

연구/JAX 2022.07.18

JAX 공부 3 - Pure function, array updates

https://jax.readthedocs.io/en/latest/notebooks/Common_Gotchas_in_JAX.html 🔪 JAX - The Sharp Bits 🔪 — JAX documentation jax.readthedocs.io Pure function 개념에 대해서 좀 헷갈려서 적으면서 정리하고자 한다. def impure_print_side_effect(x): print("Executing function") # This is a side-effect return x # The side-effects appear during the first run print ("First call: ", jit(impure_print_side_effect)(4.)) # Subsequent runs..

연구/JAX 2022.07.18

JAX 공부 2 - JIT 기초

https://jax.readthedocs.io/en/latest/notebooks/thinking_in_jax.html를 읽으며 공부하고 있다. How to Think in JAX — JAX documentation jax.readthedocs.io JIT이란 just in time이라는 뜻이다. 이 decorator를 사용한다면, operation이 최적화된 다음에 한 번에 돌아간다. (데코레이터 : https://dojang.io/mod/page/view.php?id=2427 참고) 모든 JAX 코드가 JIT complied 될 수 있는 건 아니다. (static, known at complie time이어야 한다). 아.. 이래서 training에서는 시간이 비슷하고 infernece에서 속도가 ..

연구/JAX 2022.07.18

JAX 공부 - jax.numpy, jax.lax 기초

JAX는 XLA를 이용해서 Numpy code를 accelerator에서 돌리는 것이다. 요즘 하두 JAX에 대한 말이 많아서, 나도 빠르게 익혀서 내 분야인 강화 학습, 딥러닝에 적용하고자 한다. 기본적으로 JAX document를 하나하나 읽어보고, 이후에 더 추가적으로 구현들을 봐보려 생각한다. 특히 Diffusion Model이나 RL 내에서 적어도 3배 정도 빨라진다 지인들이 추천해서, 안 할 수가 없다. 공부하면서 적은 블로그이니, 틀릴 수 있음을 감안해주면 좋을 거 같다. 생각이 나서, vscode에 colab도 연동해서 공부해보려 한다. (https://dacon.io/forum/406050에서 참고해보려 한다) 평소에는 연구실의 gpu를 썼는데 살짝 갭 타임이 있어서 (MIT에 입학 전에..

연구/JAX 2022.07.18

Application : 지원할 학교 선택

많은 유학을 준비하는 학생들이 지원할 학교를 고민한다. 크게 2가지 이유가 있는데, Issue 1. 많은 학교에 지원하는 것이 쉽지 않다. Reason 1. 여러 학교에 지원하려면 지원비(한 학교 지원에 100달러 이상 소모되고, GRE, TOEFL 스코어 리포팅으로도 학교당 30-40달러씩 소모)가 비싸기 때문에 꺼려진다. 하나만 붙으면 되잖아..?라는 생각도 든다. Thought 1. 이런 이유라면 꼭 많이 지원하기 바란다. 유학을 지원하고 가장 중요한 것은 멘탈 관리라고 생각한다. 유학 지원하고 결과 나올 때까지 최소 1개월, 최대 5개월 정도 걸리는데, 이때까지 아무것도 안 하고 불안해할 것인가? 나는 이 불안해하는 비용이 인생 전체로 보았을 때 더 크다고 생각한다. 안정적으로 생각되는 곳까지 지..

LOGML 후기

https://chanwoopark.tistory.com/15 LOGML 시작 https://www.logml.ai/ LOGML 2022 | London Geometry and Machine Learning The London Geometry and Machine Learning Summer School 2022 (LOGML) aims to bring together geometers and machine learners to w.. chanwoopark.tistory.com 교수님이 주제를 어느 정도 제시해주셨다. Frame Averaging에 대해서 약점을 찾는 것이었는데, 사실 너무 well defined 되지 않은 task라서 오랫동안 (개인적으로는) 고민을 많이 했다. 1. 영어로 대화하다 보니..

연구 2022.07.15