단순한 Softmax 함수는 numerical instability하다. e의 지수연산을 하게 되므로, 쉽게 오버플로 혹은 언더플로가 발생할 수 있다. 예를 들어 [100, 200, 300] (너무 큰 값들의 list)을 soft max function에 단순 계산하게 된다면, overflow가 발생하여,가장 큰 값에만 1에 근사한 값이 들어가고 나머지 class에는 0에 가까운 값이 들어간다. ([0.000..., 0.000..., 1]) 반대로, [1/1000, 1/2000, 1/3000](너무 작은 값들의 list)을 전사한다면,under flow가 발생하여, soft max함수 결과는 각각의 성분에 동일하게(uniform하게) 들어가게 된다. ( [0.33333.., 0.33333..., 0.33..
머신러닝 이모저모
** 이 글은 Python Debugging 기준이다.https://code.visualstudio.com/docs/python/debugging Debugging configurations for Python apps in Visual Studio CodeDetails on configuring the Visual Studio Code debugger for different Python applications.code.visualstudio.com 위의 링크를 참조 가능. VScode debug configuration 파일 작성하는 방법 vscode 를 키면 좌상단에 이렇게 디버깅을 할 수 있는 것을 확인할 수 있다.위의 플레이 버튼에서 원하는 configuration file 을 선택하고 새로 작..
나의 경우에는 cuda 12.3 → 12.1 1. 기존의 cuda 는 지운다.apt-get --purge remove "*cublas*" "cuda*" "nsight*" ** nvidia* 를 지우면 그래픽 드라이버도 지워버리기 때문에 드라이버는 유지시 지우지 않는다. 2. 재부팅한다.sudo reboot 3. 필요한 cuda version 을 cuda 사이트에서 찾는다. 다른 블로그에서는 deb(local) 로 선택하여 맨 마지막 명령어를sudo apt-get -y install cuda-[버전] 이렇게 바꾸라고 하는데, 나의 경우에는 원하는 [버전] 에 대한 파일을 설치할 수 없었다.runfile(local) 이 더 쉽게 설치할 수 있다고 하여 이를 통해 설치한다. → 이렇게 설치된 쿠다는 보통 /u..
Abstractconventional MoE 에서 N 개 expert 에서 top-K 를 사용하는 방식은 expert specialization 에서 어려움이 있다.즉 각 expert 들이 overlapped 되지않은 지식을 학습할 수 있어야 한다.그래서 이 논문에서는 이 기능을 강화한 DeepSeekMoE architecture를 제안한다. 2가지 주요 방법을 제안하는데, expert 를 flexible combination 하게 사용할 수 있도록 한다.Ks 개의 shared expert 를 분리하여 common knowledge 를 학습하도록 하고, routed experts 사이의 redundancy 를 줄인다. IntroductionMoE 장점 : computational cost 를 유지하면서 ..