목록ai (59)
운동하는 공대생

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

1. MotivationOS 는 process 구조를 통해서 보안과 독립성을 가진다. 하지만 이런 방식은 multi-core에서 비효율을 야기하고 또한 여러개의 process를 새로 생성하는것은 굉장히 많은 비용이 든다는 문제가 있다. 그래서 이런 문제를 해결하고자 Thread가 등장하게 되었다. 2. ThreadThread는 기본적으로 프로그램을 실행을 하기 위해서 존재하면 각각의 Thread ID와 프로세스의 실행에 필요한 register 그리고 stack이 존재한다. 또한 프로그램을 데이터를 관리하는 메모리 주소는 같은 공간을 활용한다. 또한 thread 끼리는 보안성을 가지지 않으며 데이터, 코드, 힙을 같이 공유한다. 결과적으로 process를 생성하고 switch하는 비용보다 thread를 ..

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

1. Intro과거에는 OS kernel과 application이 같은 메모리 주소 체계에서 실행되었다. 하지만 이는 하드웨어의 리소스를 추상화하는 OS의 역할을 충분히 수행하지 못하며 보안성에도 취약하다. 2. Protectionwhat should the designer do for protection? 1) Define a unit of protection: 어떤 문제에 대한 정의가 필요하다.2) Devise protection mechanism for the kernel: 보호 체계를 고안해야 한다. Unit of protectionabstraction : 제한된 권한에서의 프로그램 실행, 컴퓨터 하드웨어에 대한 추상화 OS designer names the abstraction as a pro..

논문https://arxiv.org/abs/2403.02310 Taming Throughput-Latency Tradeoff in LLM Inference with Sarathi-ServeEach LLM serving request goes through two phases. The first is prefill which processes the entire input prompt and produces the first output token and the second is decode which generates the rest of output tokens, one-at-a-time. Prefill iterations have hiarxiv.org1. Introduction본 논문에서는 기존의 L..

이번에 대학원을 준비하면서 여러 가지 정보를 찾아봤지만 생각보다 많은 정보가 없어서 정리를 시작하게 되었다.일단 나는 대학원에 대한 정보가 전혀 없어서 김박사넷에 글을 적으며 정보를 얻으려 노력했다. 하지만 거기 사람들은 뭔가.... 굉장히 세상에 불만이 많은지 좋은 대답은 전혀 해주지 않았다. 그래서 검색창에 후기들을 검색하고 유튜브를 찾아보고 그리고 주변 지인들의 경험을 기반으로 나는 대학원을 준비했다. 사실 나는 대학원을 준비하는 과정에서 전부 인턴을 시작하면서 인턴을 했던 연구실로 대학원 생활을 하는 경우가 많다. 하지만 나는 자대에서 학부 연구생을 하고 있었고 자대에서의 아쉬운 점이 많아서 타대 대학원을 준비하는 입장이라 시기상으로 많이 늦었었다. 하지만 자대에서 부족한 리소스에 대한 갈망이 존..

논문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형식의 데이터가 들어온다면 ..