난 그냥 AI를 애용하는 코더인데 AI 정식 공부하기는 좀 글렀고 호기심은 많아서 대충 작동원리 찾아보고 고민을 좀 해봤는데


LLM 작동원리는 text completion이고 아주 간단히 생각하면 검색할 때 자동완성기능처럼 다음, 다다음 단어을 확률로 계산해서 complete 한다는 거지?


그래서 베이스 모델은 보통 text completion이고 인간의 프롬프트에 반응하는 식으로 훈련시킨게 instruct 모델인거고.


기존 자동완성기능은 확률 가장 높은 단어를 무조건 보여준다면 지금 출시된 LLM들은 같은 질문을 물어도 답은 살짝씩 계속 바뀌잖아.


나는 이걸 temperature 설정 때문으로 보는데 temperature를 0으로 낮추면 동일 질문에 항상 같은 답만 나오겠지?


그렇게 되면 너무 로보틱하고 사람답지 않게 느껴지기 때문에 또는 너무 비창의적으로 되기 때문에 


인위적으로 temperature를 0 이상으로 맞춘걸로 보이는데


이게 그러니깐 다음 단어 확률이 cat이 0.5 dog가 0.4 인데 무조건 cat이라고만 하는 게 아니라 가끔 dog도 나올 수 있게


살짝의 난수(Random number)를 넣는 개념 아니냐? 그런식으로 확률 높은 분포 안의 랜덤성으로 약간의 변형이 연달아 일어나는 거고.


그렇게 되면 얘네들이 항상 같은말만 하는 게 아니라서 인간처럼 느껴지긴 하는데


결과적으로는 좀 많이 인위적인 창의성인데.


이런 아키텍쳐라면 좀 빡세지 않나?