LLM 기본기 정리

Keno Kim·2025년 9월 28일

LLM 내부 작동 방식

token 과 embedding 에 대해

autoregressive

  • LLM 은 token 을 하나씩 생성하고, 생성된 token 을 다시 input 에 추가하여 생성하기를 반복한다.
  • 이를 autoregressive 방식이라고 한다.

temperature, top p

  • LLM 은 token 을 생성할 때, input 에 대해 확률이 높은 선택지를 고른다.
  • temperature 변수를 통해 확률적으로 확률이 낮은 선택지도 고를 수 있도록 설정할 수 있다.

추론, CoT (chain-of-thought)

  • LLM 에게 답변을 바로 생성하는 대신, 추론 과정을 중간에 출력하도록 할 수 있다.
  • CoT 프롬프트의 예시로, few-shot 으로 추론 과정을 포함할 수 있다.
  • CoT 는 모델 생성의 중간 단계가 이후의 근거/조건으로 작용하는 것이다.

structured output (JSON 포맷 강제)

  • 일반 LLM 에 JSON 반환을 강제하는 경우, JSON 에 대한 token 만 생성한다.
  • reasoning 모델의 경우 내부적으로 token 을 추가로 생성하고, 사용자에게 노출하지 않는다.
    • Gemini thinking 등, 내부적으로 생성된 token 도 과금에 추가된다.

structured output 을 사용하는 경우 추론을 같이 쓸 수 있는지?

  • 예를 들어, 프롬프트로 "추론을 해서 결과를 JSON 으로 반환하세요." 라고 요청을 하면, LLM 은 어떤 token 들을 생성할까?

예상 질문

  1. LLM 에 하나의 프롬프트로 요청을 보내는 것과, 여러 프롬프트로 분리하여 여러 번 요청하는 것의 차이점?
  2. embedding 이란 무엇인가?

LLM 기반 검색 & 추천 시스템 설계

  • 검색 시스템과 추천 시스템은 유사한 점이 많다.
    • 검색은 사용자가 쿼리를 하지만, 추천은 내부적으로 사용자의 정보 등을 활용해서 쿼리한다.
  • LLM 을 활용해서 사용자 정보를 통해 쿼리를 생성하는 방식으로, 추천 기능을 구현하기 위해 검색 시스템을 활용할 수 있다.

예시

  1. 검색 키워드 생성
    최근 사용자가 구매한 상품은 '이어폰', '맥북' 입니다.
    사용자가 선호할 만한 제품 키워드를 5개 생성해 주세요.

  2. 검색 (semantic search)
    벡터 DB 에는 제품의 description 을 임베딩한 값이 저장되어 있다.
    이 경우, 1에서 생성한 키워드를 통해 쿼리를 작성하고,
    이를 임베딩하여 description 과 유사도 높은 아이템을 찾는 밀집 검색 (dense retrieval) 을 할 수 있다.

  3. 리랭킹
    검색을 통해 가져온 결과와, 사용자 프로필을 다시 LLM 에 입력하여 가장 연관성이 높은 아이템을 반환할 수 있다.

고려해야 할 점

  • LLM 은 비용이 비싸다. 만약, 광고 추천같은걸 LLM 으로 할 경우 비용이 비효율적일 수 있다.
  • Latency 요구사항이 낮은 경우 LLM 의 응답 속도가 느려서 쓰기 어려울 수 있다.
profile
개발자의 생각 로그

0개의 댓글