목록딥러닝 (62)
운동하는 공대생

양자화에 대한 개념은 LLM 모델의 크기가 커짐에 따라서 당연하게 크기를 줄이는 방향으로 연구가 진행되면서 최근에 기본적으로 사용되는 이론이다.양자화에 대한 개념을 말하기 전에 데이터에 대한 표현 방식을 먼저 이야기를 해보자면 integer는3 → 1112 → 1100 4bit integer3 → 001112 → 1100 데이터에 대한 표현은 0과 1로 이루어져 있기 때문에 비트에 대한 제한을 준다면 4비트 int 같은 경우에는 0에서 15까지의 표현이 가능하다. 실제 우리가 사용되는 숫자의 표현은 int만이 사용되지 않고 실수를 많이 사용한다. 그렇다는 건 이것을 표현하기 위해서는 float 표현을 통해서 우리가 아는 실수를 모두 컴퓨터에서 표시를 한다.float는 32, 16,8 등으로 표현이 가능하..

1. Recap운영체제에서 메모리에 저장되어 있는 process를 접근을 해야 하는데 이것은 보안에 문제가 생긴다. 그래서 이런 문제를 해결하고자 메모리의 직접적인 주소를 참조하는 게 아니라 가상의 주소를 참조하게 하는 것을 이것의 해결 방법으로 사용하고 있다. 이는 3가지 측면에서 효율성을 보인다. Protection각각의 서로 다른 프로세스가 서로를 보호 하기 위해서 VM이 작동해야 하며 이는 각각의 프로세스가 독립성을 가지게 해 준다.Transparency메모리의 실질적인 주소를 알 필요가 없기 때문에 프로그래밍의 편의성을 만들어 준다.Efficiency다양한 사이즈에 대한 메모리 분할을 최소화하는 게 가능하다. 2. Virtual Memory프로세스의 주소는 가상의 메모리 주소를 가지고 있으며 이..

https://arxiv.org/abs/2404.19756v4 KAN: Kolmogorov-Arnold NetworksInspired by the Kolmogorov-Arnold representation theorem, we propose Kolmogorov-Arnold Networks (KANs) as promising alternatives to Multi-Layer Perceptrons (MLPs). While MLPs have fixed activation functions on nodes ("neurons"), KANs have learnable activatarxiv.org1. IntroductionKANs 네트워크 방식은 MLP를 대체하는 새로운 방식의 layer로 본 논문에서는 소개하고 ..

논문https://arxiv.org/abs/2106.09685 LoRA: Low-Rank Adaptation of Large Language ModelsAn important paradigm of natural language processing consists of large-scale pre-training on general domain data and adaptation to particular tasks or domains. As we pre-train larger models, full fine-tuning, which retrains all model parameters, becomes learxiv.org 1. Introduction Language 모델을 활용하는 다양한 분야에서 특정 ..

1. Intro 이제는 머신러닝에서 넘어와서 딥러닝에 대하여 정리를 해보겠다. 딥러닝 분야에서의 기본이 되는 개념은 뉴런이다. 뉴런은 사람의 뇌에 존재하는 뉴런을 모방한 기술로서 전기적인 신호를 가지고 뉴런끼리의 정보 전달의 역할을 모방했다. 그래서 Artificial neurons은 input을 받아들이고 output에서는 다음 뉴런으로 그 신호를 보낼지 말지를 결정한다. 이런 뉴런들을 모아서 모델을 구성한것을 Perceptron이라고 칭하며 Perceptron 여러 Layer를 구성하게 되고 다양한 방식으로 변형되면서 지금의 딥러닝의 모델들이 탄생했다. 2. Perceptron Perceptron의 기본적인 구조는 위에 있는 그림과 같습니다. 먼저 input으로 vector형식의 데이터가 들어온다면 ..

1. Bias-Variance Tradeoff Bias-Variance 문제를 이야기하기에 앞서 먼저 Underfitting, Overfitting 에 대하여 이야기를 먼저 해보겠다. 그림에서 보이는 것처럼 Overfitting 은 데이터를 설명하는 모델이 너무 데이터 편향적으로 학습을 진행하면서 발생하며 훈련 과정에서는 Loss 가 적지만 Test 하면서 모델의 성능이 떨어지는 문제가 발생합니다. Underfitting 은 데이터를 설명하는 모델이 충분히 데이터를 설명하지 못하며 보통 훈련하는 데이터의 양이 적거나 모델이 단순하면 발생합니다. 수학적 해석 Expected Loss 정답을 나타내는 y 값에서 모델이 예측하는 값의 차이로 계산이 된다. 여기서 식을 전개를 해본다면 결국에는 Variance,..

1. Logistic Regression Linear Regression 모델을 이제까지는 알아봤는데 여기서 Regression이라는 태스크는 연속적인 데이터를 예측하는 문제이고 Classifiction이라는 태스크로 넘어가면서 이제는 더 이상 연속적인 값을 예측하는 문제가 아닌 카테고리를 분류하는 문제로 바뀐다. 여기서 이제 일반적인 Linear 모델의 구성 방식으로는 Classification 문제를 해결하기란 쉽지 않다. 왜냐하면 Classification 문제로 넘어가면서 결괏값이 0, 1 같은 이런 값으로 떨어지게 되는데 Linear모델을 활용하면 카테고리를 분류하기가 쉽지 않다. 이로 인하여 Classification 문제를 푸는 문제에서 처음으로 제시되는 방법이 Sigmoid 함수를 활용한 ..

1. How to Update the Parameter 이전까지 모델의 Error를 구하고 모델이 가지고 있는 변수들의 의미를 알아보았다. 하지만 여기서 이제는 그럼 파라미터를 업데이트하는 학습의 과정은 어떻게 이루어지는지를 설명을 해보도록 하겠다. 예시를 들어 설명을 하자면 위와 같은 데이터가 있다고 가정해보자. 그리고 h(x)라는 basis 모델이 있다고 가정을 해보겠다. 여기서 파라미터의 값을 gradient descent 방식으로 업데이트를 한다고 가정하면 파라미터 값을 임의의 값으로 초기화를 시켜주고 데이터를 대입하여 error를 계산하고 그 값을 통해서 파라미터를 업데이트하는 방식으로 적용이 된다. 위의 식에서 처럼 LSE 방식을 활용하여서 전체 데이터와 정답인 y값의 차이를 활용하여서 err..