
LLM은 특별한가?
우리가 아주 즐겨 사용하는 ChatGPT, Gemini, DeepSeek 등 대형 인공지능 모델은 인공지능의 혁신으로 여겨진다. 머신러닝, 딥러닝이 대중에게 알려진 지 오래 되었고, 우리 일상 속에서도 정말 많은 인공지능 서비스들이 녹아들어 있지만 이런 대형 인공지능 모델(이하 LLM이라고 하겠다)은 기존 AI와 다른 혁신으로 주목받는 것 같다. 많은 사람들이 "강 인공지능"을 기대하기도 하니깐 말이다. 왜 기존의 다른 유용한 딥 러닝 서비스들에 비해 이것이 그토록 특별한가?
사실 알파고가 이세돌을 이긴 그 순간 즈음에 인공지능의 혁명은 일어났다고 볼 수 있다. 의외로 인공지능들은 유사한 패턴으로 만들어진다. 우리에게 뭐든 알려주는 척척 박사 ChatGPT나 개와 고양이를 구분하는 이미지 분류기나 바둑을 두는 알파고나 그 기반은 크게 다르지 않다. 그리고 그 이론적 기반은 알파고가 이세돌을 이기기 훨씬 전 부터 마련이 되었다. 그리고 이미지 분류든, 바둑이든, LLM이든 대량의 데이터를 무지막지하게 활용하는 방법이 마련되어 가며 진가를 발휘한 것이다.
LLM 또한 마찬가지다. RNN, LSTM으로 발전해 나가고, 그 이 Attention이라는 아이디어가 등장하고, 이후 2017년에 트랜스포머 구조가 등장하며 현대 LLM의 기틀이 마련되었다. 이는 아이디어의 발전이기도 했지만 "대량의 데이터를 GPU를 이용하여 무지막지하게 학습시킨다"라는 발상의 전환이라는 점에서 동시기에 등장한 알파고와도 궤를 같이 한다.
결국 다시 첫 질문으로 돌아와서, 유사한 양상임에도 LLM이 그토록 각광을 받은 것은 아무래도 "범용성"이 아닐까 싶다. 결국 우리 질문에 답변을 해주는 챗봇 형태이지만 단순히 바둑을 둔다던가, 이미지를 분류하는 등 하나의 일이 아닌 여러가지 일을 해낼 수 있다는 점이 특별한 것이다. 하지만 이 또한 무지막지한 텍스트 데이터의 학습 결과라는 점을 알면 꽤나 신기할 수도 있다.
LLM이란 무엇인가?
내 블로그에 자주 들어오고, 이 내용을 보고 있는 사람들이라면 꽤 많이들 알고 계실듯 하다. LLM은 결국, 수학적으로 다음 단어를 예측하는 모델에 불과하다. 그것도 그냥 생각보다 단순한 곱셈을 통해서 다음 단어가 계산된다. 물론 그보다 더 고도화된 면도 많이 있지만 본질적으론 다음 단어 맞추기에서 크게 벗어나지 않는다. 그 부분에서도 차차 다루겠다.
우선은 기본적인 매커니즘을 이해하기 위해 정말 정말 간단한 예시를 생각해보자. 아래와 같은 문장이 있다.
"영희가 좋아하는 [ ]"
"엄마가 먹으라고 하는 [ ]"
그리고 후보 단어 중에 "사과"와 "사탕"이 있다. 그리고 우리는 학습 데이터를 통해 영희는 사탕을 좋아하고 어머니는 사과를 먹으라고 하시는 것을 알고 있다. 그럼 우린 답을 쉽게 고를 수 있을 것이다. LLM은 이렇게 이 앞 문장만 보고 "사탕" 또는 "사과"와 같이 적당한 단어를 찾아야 한다. 어떻게 그럴 수 있을까? 먼저 컴퓨터가 이해를 하도록 하기 위해서 우리는 모든 표현을 숫자로 만들어줘야 한다.
"사탕" => 1
"사과" => 2
"영희가" => 3
"좋아하는" => 4
"엄마가" => 5
"먹으라고 하는" => 6
이렇게 간단하게 할당을 해보자. 그리고 정말 단순한 예이니, 그냥 바로 앞에 있는 단어만 가지고 그 뒷 단어를 예측한다고 하면,
"좋아하는" => 4 뒤에는 "사탕" => 1이 예측되어야 하고
"먹으라고 하는" => 6 뒤에는 "사과" => 2가 예측되어야 한다.
여기서 우리가 말하는 "모델"은? 단순 곱셈 함수이다. 4 -> 1, 6 ->2가 되어야 하니 이 함수의 내부에선 어떤 작업을 해야 할까? 여기서 학습 과정을 통해 모델은 0.3이라는 가중치를 생각해내는 것이다. 처음에는 랜덤한 숫자로 시작했다가 "좋아하는" "사탕", "먹으라고 하는" "사과"라는 표현들 반복적으로 보면서 4 x ? = 1, 6 x ? =2 에 들어갈 해를 점점 계산해내는 것이다.
좋아하는 => 4 => [인공지능 모델: x 0.3] => 1.2 => 1 => 사탕
먹으라고 하는 => 6 => [인공지능 모델: x 0.3] => 1.8 => 2 => 사과
완전히 정확한 값이 나오는 가중치는 존재하기 힘들다. 한쪽 문장에서 완벽하게 예측을 하도록 맞춰버리면 다른쪽 문장에선 오차가 커질 수 있기 때문에 적절한 지점 어딘가를 찾아야 한다. 그리고 확률적으로 결과가 가장 가까운 단어를 선택하는 것이 기본적인 매커니즘이다.
이 부분은 다음 글에서 다룰 실제 소스코드까지 같이 본다면 훨씬 이해가 쉬울 것이다.
임베딩 벡터와 가중치의 곱셈
"그런데 그럼, '영희가(3)'가 나왔을때 0.3을 곱해서 '좋아하는(4)'이라는 말을 유추해낼 수 없는데요?" 라고 의문을 가질 수 있다. 이를 해결하기 위해 인공지능은 수만번의 학습을 한다. 학습 과정에서 0.3이라는 가중치 뿐만 아니라 "영희가"가 할당된 3이라는 숫자 또한 수정을 한다. 결과론적인 예시로, "영희가"를 12로 만들어 버리면 "영희가"뒤에는 "좋아하는"이 예측될 것이고, "좋아하는" 뒤에는 "사탕"이 예측되지 않겠는가?
[영희가] => [좋아하는] => [사탕]
[12] x 0.3 => [4] x 0.3 => 1.2
※ 실무적으로 보면 사탕도 1에서 머무르는게 아니라 1.2에 더 근접하게 수정될 것이다.
자 이게, "영희가"를 넣으면 "영희가" "좋아하는" "사탕"이라는 좋은 문장을 만들어내는 언어모델이 만들어졌다. 하지만 상식적으로 예상할 수 있듯이, 모든 단어들을 단순한 숫자 하나로만 만들어서는 가중치를 아무리 잘 설정해도 좋은 문장을 만들어낼 수 없다. 그래서 실무적으로는 단어 하나를 수백개의 숫자로 만든다. 예를 들어 이런 식이다.
사과 = [0.12, -0.87, 0.45, 0.33, ..., -0.19, 0.76, -0.55, 0.08]

이렇게 하면 단어 하나에 다양한 의미를 내포시킬 수 있다. 1차원이라면 "사과"는 그냥 사과일 뿐이지만, 2차원이면 과일이면서도 미안하다는 감정을 표현할 때의 "사과"라는 의미도 가질 수 있다. 그리고 3차원, 4차원이 넘어가면서 "달다"라는 의미 "붉다"라는 여러가지 의미들 또한 위치적으로 가질 수 있는 것이다. (여기서 위치적으로 가진다는 것은 "사과"에 "붉다"라는 의미가 명시적으로 포함되는 것이라 아니라 수십, 수백 차원 중 하나의 차원에서는 "붉은" 것들이 다 모여 있는 지점에 사과도 함께 있다는 의미이다.)
그리고 임베딩 벡터가 차원이 깊어질 수록 가중치 또한 복잡한 실수로 이루어져야 한다.
[[ 0.049 0.215 0.128 0.048 ... -0.159 0.197 -0.186 -0.488]
[ 0.479 -0.215 0.228 0.068 ... -0.495 0.444 -0.322 0.232]
[ 0.141 0.109 0.397 0.092 ... -0.269 0.368 -0.187 -0.279]
[-0.477 -0.441 -0.309 -0.438 ... 0.202 0.451 -0.391 -0.379]
[-0.14 0.303 0.383 0.116 ... -0.082 -0.036 0.197 -0.095]
[ 0.314 0.211 0.177 0.376 ... 0.043 -0.278 -0.072 0.082]
[ 0.272 0.319 0.181 -0.103 ... -0.415 -0.199 0.199 -0.264]
[-0.271 0.372 -0.363 0.239 ... -0.318 0.046 -0.025 0.299]]
하지만 곱셈인 것은 동일하다. 단순히 6 x 0.3은 아니지만, 저 수백개의 숫자를 수백개의 가중치와 곱하면 수백개의 숫자가 나온다. 그게 우리가 구하는 다음 단어인 것이다. 우리는 아까 하나의 숫자, 결국 1차원으로는 실질적인 복잡한 예측이 불가능할 것임을 직관적으로 깨달았다. 하지만 2차원이라면 좀 더 정확한 표현을 할 가능성이 높아질 것이고, 이것을 수백 차원까지 확대한다면 사실 세상의 거의 모든 문장을 아주 보기좋게, 적절하게 만들어낼 수 있다. 게다가 한번의 곱셈은 정말 단순한 하나의 레이어일 뿐이고, 좀 더 고차원적인 단어 도출을 위해 저런 가중치를 여러개 두고 여러번 곱하는 식으로 한다면(멀티 레이어) 정말 불가능이란 없다. 그냥 숫자만 무진장 많아지고 컴퓨팅 성능이 많이 필요할 뿐이다.
파라미터 수
이렇게 무진장 많은 숫자들의 수가 인공지능 모델의 사이즈와 직결된다. 러프하게 이 숫자들의 수를 "파라미터"라고 한다. LLM에 관심을 가진 사람들이라면 "이번에 어디서 몇백억 개의 파라미터를 가진 대형 모델이 출시가 되었대!"와 같은 말들을 들어보았을 것이다. 물론 하나의 행렬이 몇백억 개의 숫자를 가진 것은 아니다. 최신 상용 모델들은 저 행렬이 몇 단계로 복잡하게 이루어져 있기에 이를 모두 합친 것이 몇백억기가 된다.
당시엔 높은 품질이 필요하면 무한정 스케일(파라미터 수)을 늘리면 모두 해결된다는 것을 수학적으로 증명한 논문이 있었다. 바로 "Scaling Laws for Neural Language Models" (Kaplan et al., 2020) 이다. 당시 시도되고 있던 파라미터 수가 수십억개 정도였는데, 인간 뇌의 뉴런이 수백억개이고, 시냅스로 따지면 수조개가 넘으니 인공지능이 충분히 성능이 안 나오는 건 아직 인간에 훨씬 못미치는 파라미터 수 때문이라는 믿음이 생겨나기도 했다. 그래서 GPT-3의 175B 파라미터를 시작으로 500B가 넘는 LLM도 등장하기 시작했다. 그리고 그 이후 GPT-4가 약 1조개를 넘어간다는 소문이 돌았고 구글의 Gemini도 그에 준하는 엄청난 크기의 파라미터를 가지고 있을 것이라고 추정되었으나 이들은 이제 파라미터 수를 공개하지 않는다.
한때는 파라미터 수가 많으면 그것이 곧 좋은 성능이라는 인식이 있었지만 단순히 용량을 늘리는 것 외에도 퀄리티를 높일 수 있는 다양한 방법들이 등장하고 있고, 오히려 파라미터 수만 무식하게 많고 대화 퀄리티는 떨어진다는 소리를 들으면 그것이 더 IR 관점에서 치명적이기 때문이다. 마치 친구들끼리 기말고사에 앞서 "어휴 어제 피곤해서 일찍 잤어"라고 하지 "나 어제 잠도 안자고 밥도 안먹고 18시간 공부했어" 라고 미리 자랑하지 않는 것과 마찬가지다.
ChatGPT는 어떻게 대화를 할 수 있는가?
만약 정말로 LLM이 다음 단어만 맞추는 기계라면 어떻게 나랑 이렇게 사람 같은 대화가 가능한 것일까? 그냥 일상 대화 뿐만 아니라 내가 번역을 하달라면 해주고, 코딩을 해달라면 해주는 만능 기계인데 이게 다음 단어 맞추기로 가능한 것인가?
사실은 "그렇다"이다.
이것이 바로 OpenAI가 ChatGPT로 이루어낸 하나의 혁신이기도 하지만, 엄청난 신기술이라기 보다는 아주 영리한 트릭에 가깝다. 이에 대한 비결은 바로 현대 LLM의 표준과도 같은 pre-training과 fine-tuning에 있다. 우선 모든(조금 비약일 수 있지만, 상용 LLM을 기준으로 한다면 '대부분'보다 더 큰 수준) LLM은 우선 수많은 텍스트 데이터로 다음 단어 맞추기를 훈련한다. 이 때 사용되는 데이터는 정말 웹상에 공개된 전체 데이터이다. 요즘 홈페이지 하나 만들어서 구글에 등록시켜 놓으면 금방 OpenAI를 비롯한 각종 LLM 회사의 봇들이 들어와 데이터를 다 긁어간다. 트래픽의 상당 비율이 사람이 아니라 기계에 의해 만들어지는 것이다. 그 말은 컨텐츠의 소비가 로봇에게서 먼저 일어난다고 할 수 있다.
이렇게 사람이 작성한 모든 데이터를 다 읽어 학습을 하고 나면 우리의 다음 단어 맞추기 로봇은 정말 말을 청산유수처럼 할 수 있다. 100시간 동안 혼자 필리버스터를 하라고 해도 정말 쉬지 않고 그럴듯한 말을 쉴새 없이 쏟아낼 수 있을 것이다. 이 세상 그 어느 누구보다도 많은 텍스트로 공부를 했기 때문에 그 말들은 논리적으로도 맞고, 문법적으로도 맞고, 어느정도 설득력까지 갖추고 있다. 하지만 이 로봇은 자기가 뭘 말하고 있는지를 모른다. 그냥 지금까지 만들어진 이 문장들을 기반으로 다음엔 어떤 단어를 밷으면 확률적으로 적절하겠구나만 생각하는 것이다.
Supervised Instruction Fine-Tuning
(Instruction SFT)
우선 말만 잘하는 기계를 만든 다음에 하는 것이 "인스트럭션 튜닝", 쉽게 말해 "채팅용 파인 튜닝"이다. 말 잘하는 기계를 만들었다는 건 일단 풍부한 지식을 비롯하여 언어 능력을 부여했다는 것과 동일하다. 그 다음 파인 튜닝으로 이 기계의 정체성을 부여하는 것인데, 이 때 ChatGPT처럼 대화를 하고 일을 시킬 수 있는 것을 "지시(instruction) 튜닝"이 된 LLM이라고 한다. 이때 사용되는 것이 아래와 같은 대화형 데이터이다.
{ "messages": [
{"role": "user", "content": "How do I bake a chocolate cake?"},
{"role": "assistant", "content": "Here’s a simple recipe: 1. Preheat oven to 350°F..."}
]}
즉 질문 + 답 데이터 수십, 수백만개를 준비해서 학습을 시켜 준다면 그 때부터 이 말하는 기계는 대화 형태에 맞추어 단어를 생성해낸다. 우리가 아까 단순한 예시로 본, LLM에게 "엄마가 먹으라고 하는 [ ]" 이렇게 앞 부분의 말을 제시하고 뒤에 올 단어를 맞추라고 하는 것과 대화를 하는 것은 다른 것 같지만 실제로는 동일하다. 그것이 어떻게 가능한가?
예를 들어 우리가 ChatGPT에게 "호주의 수도는 어디야?"라고 묻는다면 ChatGPT는 실제로는 이렇게 전달 받는다.
"사람: 호주의 수도는 어디야? 너의 답변: [ ]"
즉 그냥 앞 부분의 제시문을 문답형태로 만들어 넣는 것이다. 결국 문장 형태가 "질문"과 "답"으로 구조화되었다 뿐이지, 마지막 단어 맞추기의 연속이다. 어떤 질문을 받았을 때 어떤 답변을 해야하는지 충분히 훈련이 되었고, 호주의 수도가 어디인지에 대한 정보는 이미 충분히 학습 하였기 때문에 GPT는
"사람: 호주의 수도는 어디야? 너의 답변: [ ]"
"사람: 호주의 수도는 어디야? 너의 답변: 호주의 [ ]"
"사람: 호주의 수도는 어디야? 너의 답변: 호주의 수도는 [ ]"
"사람: 호주의 수도는 어디야? 너의 답변: 호주의 수도는 캔버라 [ ]"
"사람: 호주의 수도는 어디야? 너의 답변: 호주의 수도는 캔버라 입니다. [ ]"
"사람: 호주의 수도는 어디야? 너의 답변: 호주의 수도는 캔버라 입니다. 많은 [ ]"
"사람: 호주의 수도는 어디야? 너의 답변: 호주의 수도는 캔버라 입니다. 많은 분들이 [ ]"
"사람: 호주의 수도는 어디야? 너의 답변: 호주의 수도는 캔버라 입니다. 많은 분들이 의외로 [ ]"
"사람: 호주의 수도는 어디야? 너의 답변: 호주의 수도는 캔버라 입니다. 많은 분들이 의외로 시드니나 [ ]"
"사람: 호주의 수도는 어디야? 너의 답변: 호주의 수도는 캔버라 입니다. 많은 분들이 의외로 시드니나 멜버른이라고 [ ]"
이렇게 차례대로 한 단어씩 지어내는 것이다. 그 과정에서 수많은 학습 데이터들에 의해 사족과 끝맺음 문장까지 말한 뒤에, 본인이 끝맺음을 했다는 것을 인지하면 그것으로 답변을 종료한다.
Few Shot Running (퓨-샷 러닝)
어떻게 보면 GPT가 범용성을 가질 수 있는 것도 이 Pre-training 과 Fine-tuning의 컴비네이션 때문이다. 실제 전세계의 데이터를 모두 학습시킨 Pre-trained GPT는 거의 모든 지식을 가지고 있다. 하지만 이 지식을 꺼내기 위해선 적절한 "앞 문장"이 필요하다. 우리가 원하는 다음 단어를 잘 말하는 것이 우리의 질문에 잘 대답하는 것이기 때문이다. 그런데 의외로 LLM은 적응력이 좋다. 혹자는 LLM을 제로샷 또는 퓨샷 러닝의 혁신이라고 말하는데 경우에 따라 맞는 말이기도 하고 틀린 말이기도 하다. 여튼 이렇게 불리는 이유는 우리가 인스트럭션 파인 튜닝을 시킬 때
"질문: 한국의 수도는? 답변: 한국의 수도는 서울입니다."
"질문: 중국의 수도는? 답변: 중국의 수도는 베이징 입니다."
"질문: 미국의 수도는? 답변: 한국의 수도는 워싱턴DC 입니다."
이렇게 모든 나라의 수도를 다 학습시킬 필요는 없기 때문이다. 지식은 이미 있으니, 그냥 '수도를 묻는 것이다'라는 패턴만 인식을 시켜 줘도 LLM은 아제르바이잔의 수도를 묻든, 세네갈의 수도를 묻든 수도를 묻는 질문에 대해선 자신의 지식에서 어떻게든 꺼내서 답변을 잘 해낸다. 그리고 심지어는 학습 데이터로 사례를 넣어준적도 없는 질문 패턴도 철썩 같이 알아듣곤 한다.
LLM이 진입 장벽이 높은 이유
일단 LLM 자체의 진입 장벽은 현재 많이 낮아졌다고 말할 수 있다. 많은 독립 연구자들, 개발자들이 스스로 LLM을 구현하고 새로운 아이디어를 테스트해볼 수 있다.
실제로 요즘은 공개된 자료만 가지고, 튜토리얼을 봐가며 LLM을 흉내 내 본다면 그럴듯한 결과물이 나온다. 사실 데이터도 일반 텍스트 데이터는 널렸다. Hugging Face 나 Git Hub에 널린 수십기가짜리 텍스트 데이터(text corpus라고 한다)를 다운 받을 수 있다. 이 데이터들은 위키피디아의 텍스트를 모은 데이터, 뉴스 데이터, 세익스피어 같은 고전 소설 데이터 등 정말 다양하게 구성되어 있다. 그리고 이들을 다 다운받아 며칠동안 게임용 GPU로 열심히 학습을 돌리면 나름 청산유수처럼 말하게 할 수 있다. 만약 집에 좋은 GPU가 없다면 십몇만원 투자해서 AWS에서 GPU가 있는 인스턴스를 구매한 후 빠르게 학습만 시키고 종료시킬 수도 있다. 결국 인공지능은 임베딩 단어장과 가중치 행렬들 숫자값, 이것이 핵심이다.
하지만 문제는 대화형 데이터를 구하기 어렵다는 것이다. ChatGPT처럼 우리가 일상 대화를 시도하든, 호주의 수도를 묻든, 코딩을 시키든 하려면 이와 유사한 패턴의 대화 쌍 데이터를 대량으로 구해서 학습시켜야 하는데, 이건 위키피디아나 뉴스, 고전 소설 등에서 쉽게 구할 수 있는 것이 아니기 때문에 따로 구축을 해야 한다. 공개된 것이 없진 않지만 많지도 않다. ChatGPT와 같은 선발 주자들은 이 데이터를 만들어내는데 꽤 큰 투자를 했을 것이다. 그리고 딥시크와 같은 중국 신흥 LLM들은 이런 데이터를 ChatGPT를 이용해서 만들어 썼다는 의혹이 제기되기도 하였다. 우리가 GPT에게 "Intruction Tuning용 데이터 JSON으로 만들어줘"라고만 말해도 이미 똑똑한 GPT는 좋은 데이터를 만들어주기 때문이다. 물론 이 또한 돈이 있으니깐 사용료를 지불하고 API를 대량으로 호출한 것이기 때문에 도덕적으로 문제가 되는 것인지는 다툼의 여지가 있다. 도덕적 문제를 떠나, 일반인은 웬만한 자금으론 이렇게 뽑아 쓰기도 힘들다.
그래도 해볼만한 이유
인스트럭션 파인 튜닝(채팅용 튜닝)이 당장 필수적인 것은 아니다. 이것이 현재의 Pre-training, Fine-tuning 방식의 장점이다. 실제로 많은 연구자들이 자신의 아이디어나 연구 결과를 바탕으로 LLM을 구현하고 Pre-training 까지만 수행한 뒤 이에 대한 벤치마크를 돌려 성능을 평가받고, 그것만으로 큰 혁신을 일으키거나 주목을 받곤 한다. 아니면 그냥 GPT-2와 같이 소스 코드가 이미 모두 공개된 LLM을 수정해서 학습시키기도 하고, 소스 코드 없이 가중치와 학습 모듈만 공개된 것들을 파인튜닝만 하며 아이디어를 찾는 경우도 있다.
아직까지도 구글, 마이크로소프트, 메타에서 나오는 많은 연구자료들이 LAMBADA나 챕터 브레이크 같은 프리트레이닝 대상의 벤치마크를 대상으로 성능 향상을 도모하고 있다. Pre-training, Fine-tuning, 학습 데이터의 양과 질, 학습을 얼마나 빵빵하게 돌렸는가 등 모든 요소들이 LLM에 중요한 요소지만 대체로 잘 학습된 Pre-training 모델은 향후 Fine-tuning을 했을 때도 좋은 성능이 발휘될 수 있다. 따라서, 예를 들면, 한정된 데이터와 컴퓨팅 파워로도 아주 기발하고 효율적인 메커니즘을 이용해 좋은 성능을 내는 LLM과 같은 개선 모델 개발은 독립 연구자들도 충분히 도전해볼만 하다. 실제로 요즘 깃헙이나 허깅페이스에 가보면 그냥 개인이 꽤나 잘 만들어진 LLM을 공개해서 많은 주목을 받는 경우가 많이 있다.
다만 한계라면 대량의 데이터 학습을 통해서 성능을 극한까지 끌어올리는 류의 실증은 불가능하다는 것이고, 벤치마크도 수학 문제를 풀거나 코딩 실력을 견주는 류의 벤치마크는 해보기가 쉽지는 않을 것이다. 물론 본인이 회사 내에서 어느정도의 자원을 제공받을 수 있다면 불가능 한 것은 아니기도 하다.
마치며
난 인공지능 전문가는 아니다. 인공지능 전공으로 석박사를 한 것도 아니고 관련 트랙으로 커리어를 쌓아온 것도 아니다. 하지만 다양한 신기술을 다루며 제너럴리스트를 추구하는 기술사로서, 현 시대에 이 LLM, 또는 인공지능이라는 트렌드가 가지는 무게감에 대해서는 나름 잘 인지하고 있다고 말할 수 있다. 그리고 대부분의 연구자료들이 중국이나 인도계 연구자들에게서 나오고, 우리나라의 원천기술은 턱없이 부족하다는 것에 꽤나 큰 위기감을 느낀다. 그리고 조금 늦긴 했지만 아직 완전히 늦은 건 아니라고 생각하고 지금이라도 우리 기술자들 커뮤니티에서 조금씩이나마 관심을 가져보면 어떨까 하는 마음에 글을 쓰기 시작하였다.
현재 이재명 정부가 들어서면서 인공지능 지원에 박차를 가하고 있는 부분은 분명히 잘 된 일이지만 그 방향성에 대해선 아직 구체적으로 파악이 안되기에 우려심도 조금 있다. 특히 RAG 처럼 해외모델에 의존해서 서비스만 개발하는 그런 표면적인 사업자들이 바우처로 예산만 마구 써댈까봐 걱정이 되기도 한다. 그리고 설마 만에 하나 국가 주도로 공공 LLM 개발 프로젝트가 나올까봐도 걱정이다. 그럴 바엔 차라리 자체 엔진을 가진 네이버 클로바나 LG 엑사원 사용에 돈을 지원해주면서 이런 모델 개발을 장려하는 것이 낫다. 그리고 지난번 데이터 활성화 정책처럼 무차별적인 돈 풀기 보다는 정말 잘 설계된 지원이 이루어졌으면 좋겠다. 한국인들의 창의성이 적극 발휘될 수 있도록 창창한 스타트업이나 연구계에서 원천 기술을 개발하고 혁신을 이룰 수 있는 지원책이 나왔으면 하는 바램이다.
우리 기술사 커뮤니티 또한 기회를 잘 활용하여 좋은 성과를 창출해보면 좋겠다는 생각이 든다. 회사에서 C레벨이나 관리자급, PM급에 있는 기술사님들이 많을텐데 LLM이라는 것이 너무 진입장벽이 높다고만 생각하여 해외 모델 API만 비싼 돈 주고 사기 보다는 그 본질에 대해서 이해하고 연구반이라도 한번 꾸려보는 것도 괜찮겠다. 내가 쓰는 글들은 소수 독자의 관심끌기 정도에 지나지 않겠지만 그럼에도 좋은 방향성에 조금이나마 기여하기 위해 몇개의 글을 시리즈로 작성해보겠다.
'IT 이론 공부' 카테고리의 다른 글
| 간단한 코드로 이해하는 강화학습 #3 Grid World-2 (정책, 가치 함수, 학습) (5) | 2025.07.09 |
|---|---|
| 간단한 코드로 이해하는 강화학습 #2 Grid World-1 (에이전트, 환경, 에피소드) (1) | 2025.07.09 |
| 강화학습을 정말 간단한 코드로 이해해보자 (Python, n-슬롯 머신) (2) | 2025.07.08 |
| [데이터 시리즈 #4] 옵트인과 옵트아웃 이해하기 (3) | 2025.03.31 |
| [데이터 시리즈 #3] 데이터 활용과 개인정보 보호 (0) | 2025.03.31 |