Skip to content

Instantly share code, notes, and snippets.

@dayone-ai
dayone-ai / decoding_streaming_Korean.md
Last active March 5, 2024 07:07
왜 copilot은 좋은 모델 돌려놓고 깨진 한글로 대답할까?

LLM 서빙에는 엔지니어링 측면에서 많은 챌린지가 있습니다. 좋은 모델을 학습시키는 AI Engineering적인 역량 뿐만 아니라 안정적으로 많은 request를 처리하기 위한 Backend Engineering적인 역량도 중요합니다. 그러한 점에서 LLM 서빙을 잘하고 있는 OpenAI나 Microsoft는 참 대단하다고 생각하고 있습니다.

Microsoft의 copilot은 특히 GPT-4를 무료로 사용할 수 있고, RAG (Retrieval Augmented Generation)을 통해서 정보의 실시간성이 높고 환각의 비율이 적어 자주 애용하는 서비스 중에 하나입니다. 그런데 이 서비스를 이용하다가 아주 작은 실수 때문에 한국 사용자들이 뛰어난 모델을 제대로 사용하지 못하는 사실을 발견했습니다.

image는 아래 댓글 참조

해당 현상은 왜 발생할까요? 바로 streaming을 하면서 token을 제대로 decoding해주지 못해서 발생하는 현상입니다. 영어로 decoding을 할 때는 문제가 되지 않았겠지만 한국어는 자음, 모음으로 분리되는 특성 때문에 decoing시에 주의를 기울이지 않으면 출력이 엉망이 될 수 있습니다.

streaming이 아니라면 사실 문제가 될 확률이 적습니다. GPT2Tokenizer를 활용한 예시입니다. 한글이 정상적으로 encode/decode되는 걸 확인하실 수 있습니다.

@dayone-ai
dayone-ai / listen-notify.md
Last active March 15, 2024 11:35
postgres LISTEN/NOTIFY example snippet
  • how to listen
import select
import psycopg2
from psycopg2 import sql
from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT
from sqlalchemy import text, create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import Session, sessionmaker