[강연정리] ChatGPT를 연구에 활용하기
·
기타/세미나 Seminar
ChatGPT를 연구에 활용할 수 있는 방안에 대한 강연을 듣고 내용을 정리하는 글. 나에게 도움이 될 만한 것 위주로 작성했기 때문에 직접 듣고 싶다면 연사 분이었던 커맨드스페이스의 구요한 대표님의 유튜브 채널을 참고해보는 것도 좋을 것 같다. 1. chatGPT 사용법 chatGPT는 3.5보다는 4.0 활용을 권한다. 파일을 업로드해서 파일을 기반으로 대화 가능하다. chatGPT에 다양한 플러그인(울프람알파, 파이썬 등)을 통해 그래프를 그리고 수식을 해결할 수 있다. custom instructions 기능을 통해 미리 내가 어떤 배경을 가진 사람인지를 알려줌으로써 대화에 더 도움을 받을 수 있다. 한 대화 당 토큰 수가 제한되어있기 때문에 이 기능을 유용하게 쓸 수 있다. (3.5와 4.0 모..
[인공지능] Learning에서 scaling이 중요한가
·
연구 Research/인공지능 Artificial Intelligent
인공지능을 하다보면 경험적으로 알게 되는 것들이 있는데 그 중 하나가 scaling의 문제이다. 간단한 regression 문제를 풀어보자. import jax import jax.numpy as jnp from jax import random, vmap from jax.example_libraries import optimizers def diffusion(t, y, args): sigma = 0.15 diff = sigma * jnp.sqrt(y) return diff # Define a simple neural network model def init_params(layer_sizes, key): params = [] for i in range(1, len(layer_sizes)): key, sub..
[인공지능] 인공지능 라이브러리 정리
·
연구 Research/인공지능 Artificial Intelligent
MATLAB을 제외하고 인공지능 툴을 쓸 수 있는 환경은 대부분 파이썬이다. 그런데 파이썬만 있다고 끝나는 것이 아니라 인공지능 라이브러리를 동반해야 한다. 나는 Tensorflow2, Keras, PyTorch, JAX 까지 다 써보고 현재는 Julia도 고려하는 중이다. (Tensorflow1은 써봤는데 불편하기도 하고 그 때는 2가 막 활발해지던 시점이라서 그냥 넘겼다.) 철저히 개인적인 경험을 바탕으로 작성하는 것이라서 연구 쪽에 초점이 맞춰져있고, 그걸 감안하고 보면 될 것이다. 혹시 실무를 하시는 분들이 있으면 본인의 경험을 공유해주시면 정말 좋을 것 같다. 아래가 내용을 정리한 표 Tensorflow Keras PyTorch JAX Julia 특징 Google에서 시작 프랑소와 숄레가 창시한..
[JAX] 메모리 부족 문제 해결
·
연구 Research/인공지능 Artificial Intelligent
JAX를 쓰다가 너무 많은 양의 데이터를 쓰다보니 메모리 부족(OOM: Out of memory) 현상을 겪었다. 근본적인 해결책은 달리 없다. 데이터가 너무 많아서 생기는 문제이니 데이터 양을 줄이던가 아니면 병렬 컴퓨팅을 하는 방법이 있다. 병렬 컴퓨팅을 간단한 코드에서는 실행해보았는데 큰 네트워크에서는 해본 적이 없다. 일단 임시방편으로는 다음과 같다. 메모리 부족이 쉽게 발생할 수 있는 이유는 JAX에서 처음에 import를 할 때 대부분의 메모리를 미리 할당해놓기 때문이다. 따라서 이 preallocation을 막거나 줄이면 도움이 된다. 1. Preallocation 중단 XLA_PYTHON_CLIENT_PREALLOCATE=false # 구체적으로는 다음과 같이 구현한다. import os ..
[에러기록] ImportError: cannot import name 'index_update' from 'jax.ops'
·
기타
from jax.ops import index_update, index = index_update(, index[], ) % example u = index_update(u, index[0, :], g(t)) 다음 코드를 실행할 때 발생하는 문제이다. JAX 0.3.2부터는 jax.opt.index_update, jax.opt.index가 사라졌기 때문에 이 기능을 쓰기 위해서는 jax와 jaxlib을 0.3.2 버전 전으로 돌려야 한다. 혹은 저 위의 기능은 특정 인덱스에 배열 값을 바꾸는 코드이기 때문에 x = x.at[idx].set(y) 와 같이 특정 인덱스에 y라는 값으로 바꾸는 코드로 바꿔줄 수 있다.
[인공지능] CUDA & cuDNN 설치하는 방법
·
연구 Research/인공지능 Artificial Intelligent
환경 : Windows 11설치버전 : cuDNN 8.2.2 / CUDA 11.4 이후 버전들은https://normal-engineer.tistory.com/356 [인공지능] Ubuntu 18.04에서 CUDA, CuDNN 설치이번에 리눅스 환경에서 CUDA, cuDNN을 설치하면서 있었던 시행착오를 기록하는 글이다. 기본적으로 Linux 환경에서 설치하는 방법은 매뉴얼에 잘 나와있어서 이 링크를 참고하면 되기는 하는데 디normal-engineer.tistory.comhttps://normal-engineer.tistory.com/483 확인    cudnn은 GPU로 인공지능을 돌릴 때 도와주는 라이브러리고CUDA는 GPU에서 수행하는 알고리즘을 C와 같은 프로그래밍으로 작성할 수 있도록 하는 프..