Jev 모델에 대해 조금 더 이해하고 싶으신 분들께 드리는 글.
Jev를 딱 본 뒤 드는 첫 판단은 둘 중 하납니다. "저건 아예 LLM과 다르네", 혹은 "그냥 LLM의 출력헤드만 바꿨네"
뭐... 둘 다 맞는 말일 수 있습니다.
Jev의 출력은 크게 세 가지 형태로 볼 수 있습니다.
1. Noul: yes/no 질문에 대해 0에서 1 사이의 확률을 반환.
2. Choice: 주어진 선택지 중 하나를 선택, 각 선택지의 확률 분포와 confidence를 함께 출력.
3. Score: 특정 척도 위에서 점수와 그 분포, 그리고 confidence를 출력.
즉 긴 자연어 답변을 생성(다음 토큰을 예측)하는 것이 아니라, 처음부터 의사결정에 필요한 값을 직접 출력하도록 만들어진 모델입니다. Noul의 확률은 그 자체로 0 또는 1이 아니라, 애플리케이션이 임계값을 정해 이진 결정으로 바꿀 수 있는 값입니다.
예를 들어 기상 데이터를 state로 넣고 "내일 비가 올 확률은?"이라는 question을 함께 입력한다고 생각해보겠습니다.
일반적인 LLM이라면 먼저 입력을 토큰 단위로 처리하고, 필요하다면 내부적인 reasoning을 거친 뒤 "내일 비가 올 확률은 약 80%입니다" 같은 텍스트를 생성합니다. 답변을 만들기 위해서는 여러 개의 토큰을 순차적으로 생성해야 합니다.
Jev는 이 과정이 다릅니다.
state(기상 데이터)와 typed question(내일 비가 올 확률은?)을 입력으로 받아 모델의 계산을 수행하고, 그 결과를 decision 형태로 바로 출력합니다.
결과가 "80%"에 해당하는 Score일 수도 있고, "비가 온다 / 오지 않는다" 중 하나를 고르는 Choice일 수도 있으며, "내일 비가 온다"는 명제의 참 확률을 내는 Noul일 수도 있습니다.
중요한 것은 모델이 답변을 설명하는 텍스트를 생성하는 것이 목적이 아니라, 주어진 state에 대한 question의 decision을 계산하는 것이 목적이라는 점입니다. 공개된 설명에 따르면 Jev는 여러 question을 같은 state에 대해 병렬로 평가하며, 일반적인 LLM처럼 토큰을 하나씩 이어 붙이며 글을 쓰지 않습니다.
그렇다고 Jev가 단순한 if문이나 규칙 기반 프로그램이라는 뜻은 아닙니다. 예를 들어 사람이 습도 > 80%이고 강수확률 > 60%이면 비 = 1 같은 규칙을 직접 작성해놓은 시스템과는 완전히 다릅니다.
Jev 역시 학습된 신경망의 파라미터를 사용합니다. 입력은 여러 단계의 연산을 거치며 변환되고, 학습 과정에서 형성된 가중치에 의해 최종 출력이 결정됩니다. 따라서 특정 조건문을 사람이 하나하나 작성해놓은 것이 아니라, 학습을 통해 state와 question 사이의 관계를 모델의 파라미터에 내재화한 것에 가깝습니다.
이런 의미에서 Jev의 내부 구조를 기존 LLM과 완전히 다른 종류의 계산이라고 단정할 수 없습니다. Almeida는 인터뷰에서 “a different kind of language model”이라고 했습니다. 결국 언어모델이긴 한 거죠.
다만 현재 공개된 범위에서는 backbone이 Transformer인지, 기존 언어 모델을 얼마나 재사용했는지까지는 확인되지 않습니다. 언어를 입력으로 받아 그 분포나 의미를 모델링하면 language model이라고 부를 수 있으니... (n-gram, RNN, LSTM 등등)
아무튼 회사가 강조하는 차이는 레이어 구성의 이름보다, 새로운 모델 아키텍처와 parallel sampler를 사용해 구조화된 decision을 한 번에 산출하도록 설계했다는 점입니다. Attention이나 MLP 같은 구성요소를 쓸 수는 있지만, 그것은 현재로서는 추론이지 공개된 사실이 아닙니다.
차이에 대해 충분히 설명드린 것 같지만, 더 들어가보겠습니다.
일반적인 LLM의 대표적인 학습 목표는 주어진 문맥에서 다음 토큰을 예측하는 것입니다. 그래서 최종적으로 vocabulary 전체에 대한 확률 분포를 만들고, 그중 하나의 토큰을 선택해 다시 다음 토큰을 예측하는 과정을 반복합니다. 이후 RLHF 같은 방식으로 사람이 선호하는 글을 쓰도록 다듬는 경우가 많습니다.
반면 Jev는 처음부터 이런 텍스트 생성이 목적이 아닙니다. TypeSafe는 이를 Reinforcement Learning for Calibrated Decisions(RLCD)로 학습한다고 설명합니다.
즉, 모델이 최종적으로 해야 하는 일이 decision이라면, 그 decision과 함께 실제 정답률과 맞게 보정된 확률을 출력하도록 학습합니다.
따라서 텍스트 생성용 LM head로 문장을 이어 쓰는 대신, Noul, Choice, Score와 같은 decision output을 만들어내는 방향으로 모델을 사용합니다..
여기에 Jev가 엄청나게 저렴한 이유가 있습니다.
일반 LLM은 답을 여러 번 순전파(파라미터 전체를 쭉 통과)해서 한 글자씩 만듭니다. 인풋이 길어질 수록 순전파를 토큰 수만큼 반복해 굉장히 느려지게 됩니다. 그래서 파라미터가 커질수록 일을 잘 하고 비싼 거죠.
Jev는 인풋을 state, question 이 두 개로만 받습니다. 그리고 한 번의 순전파로 decision을 바로 냅니다.
그 정형화된 3개(Noul, Choice, Score)에 따라 decoding(최종 출력값 생성)도 끝납니다. 무시무시하게 저렴하고 빠른 이유죠.
즉, 즉즉즉즉즉...
LLM은 "무슨 말을 다음에 생성할 것인가?"를 계산하고, Jev는 "현재 상태에서 어떤 판단을 내려야 하는가?"를 계산합니다.
그렇다고 Jev가 '의미'를 아예 버린 확률 계산기란 것도 또 아닙니다. 물론 reasoning trace를 생성하지 않는 것은 맞습니다.
일반적으로 생각하는 Reasoning 과정, 즉 문제를 여러 단계로 쪼개고 중간 결과를 글로 만들어가면서 최종 답을 도출하는 방식을 쓰지 않습니다.
신경망 내부에서는 당연히 입력된 값들의 관계를 표현하고 학습된 패턴을 이용합니다.
예를 들어 기상 데이터에서 기온, 습도, 기압, 바람, 구름 등의 여러 변수와 "내일 비가 올 확률"이라는 question 사이의 관계를 모델이 학습했다면, 이를 이용해 최종 Score나 Noul을 계산할 수 있습니다. 이 과정은 단순한 조건문보다 훨씬 복잡한 함수이며, 모델의 수많은 파라미터를 거쳐 수행됩니다.
따라서 Jev를 "추론을 전혀 하지 않는 모델"이라고 부르는 것도 정확하지 않습니다. 넓은 의미에서는 입력을 받아 내부 계산을 수행하고 결론을 도출하기 때문에 inference는 분명히 일어납니다. 다만 일반적인 reasoning LLM처럼 중간 추론을 토큰으로 생성하면서 답을 만들어내는 방식이 아니라, 학습된 신경망의 forward computation을 통해 decision을 직접 산출하는 방식이라고 이해하는 편이 정확합니다.
결국 LLM은 언어를 생성하는 범용 인터페이스에 가깝고, reasoning LLM은 그 언어 생성 과정에서 더 많은 계산을 사용해 복잡한 문제를 해결하도록 만들어집니다.
Jev는 그와 달리 언어 생성 자체를 목적에서 빼고, state와 question으로부터 decision을 직접 계산하는 방향으로 설계된 모델입니다.
회사가 말하는 "can't hallucinate(할루시네이션이 불가)"도 사실이 틀리지 않는다는 뜻이 아니라, 미리 정한 스키마 밖의 답을 만들어내지 않는다는 뜻에 가깝습니다. 판단 자체는 틀릴 수 있습니다 ㅋㅋㅋ
한마디로 정리하면, Jev는 생각을 글로 써서 답을 만드는 모델이라기보다, 주어진 상태와 질문을 학습된 신경망에 통과시켜 필요한 decision을 직접 반환하는 모델이라고 볼 수 있습니다.
저 이거보고 구글 미쳤다 라고 육성으로 말해버렸음..
📚 Code Wiki
https://t.co/kNUmQFybKC
'코드 위키'는 구글이 개발했어요. AI 기반 코드 문서화 플랫폼.
소프트웨어 개발 과정에서 가장 시간 소모적인 작업 중 하나인 '기존 코드 이해' 문제를 해결하기 위해 만들어졌어요.
이 플랫폼에서는 코드 저장소를 자동으로 분석하여, 항상 최신 상태로 유지되는 구조화된 대화형 위키를 생성해요. 들여다보면 NotebookLM 성격을 많이 띄고 있어요.
단순히 주석을 모아 보여주는 것이 아니라, Gemini AI를 기반으로 코드의 구조, 관계, 목적 등을 분석해요. 상세한 설명, 다이어그램, 코드베이스에 특화된 Q&A 챗봇 기능까지 제공합니다!
코드가 변경될 때마다 문서도 자동으로 업데이트되어, 문서가 낡아 쓸모없어지는 문제를 해결하는거죠. 오.. 신이시여!
⚙️ 동작방식은 이렇다요
- 코드 저장소에 commit 발생할 때마다 전체 코드베이스를 다시 스캔하여 문서를 자동으로 재생성!
- Gemini AI 기반 챗봇은 현재 코드 저장소 전체를 학습했기 때문에 코드의 특정 기능이나 로직에 대해 정확하고 맥락에 맞는 답변 제공!
- 생성된 문서의 모든 설명은 실제 코드 파일, 클래스, 함수와 링크로 연결 → 문서를 읽다가 바로 해당 코드로 이동하여 탐색하는 원활한 워크플로우 제공!
- 텍스트 설명뿐만 아니라, 현재 코드 상태를 정확하게 반영하는 아키텍처 다이어그램, 클래스 다이어그램, 시퀀스 다이어그램 등을 자동으로 생성!
💭
온보딩 때도 도움이 많이 될 것 같고, 레거시 코드를 분석하고 이해할 때도요. 문서화라는 시간 조차 리소스인데 이를 Gemini AI 통해 자동화 할 수 있다면 이것만큼 도움이 되는게 있을까 싶어요!
지금은 웹을 통해 제공되는데, 조만간 Gemini CLI 등을 통해 로컬이나 private 저장소에서도 사용할 수 있도록 지원할 예정이라고 해요.
아참, 챗봇은 한국어로도 잘 얘기해줍니다!
📖 Frontend Fundamentals 모의고사 제 1회
토스 프론트엔드 채용에서 실제로 사용했던 과제를 공개!
과제를 풀어보고 해설 강의를 들어보면서 Frontend Fundamentals를 연습해보면 어떨까요?
자세한 내용은 아래 링크를 통해 확인해보세요!
https://t.co/VopA8FDx47
경제공부하는데 영 모르는 말이 가득 나오는사람?
저요🙋♀️
금융감독원이 제공하는 !!무료!! 실용금융 책이 있다는 사실 알고 계시나요??
페이지도 무려 562페이지...
목차만 한번 쭉 읽어봤는데 제가 원하던 교재가 바로 이런것이라는것을 깨달았습니다...
아래 링크에서 무료로 pdf 다운로드 가능하다니까 참고해주세요!
https://t.co/ow7nCcw0cx
요즘 취준에 대한 생각을 바꾸고 있어요. 지금까지는 취준 기간동안 내 성장이 멈출거라 생각했는데, 차분히 생각해보면 아니더라구요.
알고리즘 테스트를 준비하면서 문제 해결 능력을 향상시킬 수 있고,
기술 면접을 준비하면서 내가 모르는 것과 아는 것을 구분할 수 있어요.
이력서를 작성하면서