Today I learned : 정처기, 토익
오늘 할 일
- 정처기
- 토익
- 피티갔다가 스킬플로 강의 하나 독파
- PoC 분석 후 메일 보내기 (메일은 오전에)
간편결제 프로젝트로 끝내는 MSA - MSA 개요와 실습 기초
모놀리스의 배경과 종류
로컬에서 최대한 MSA 구축하는 방향으로 실습한다. 클라우드를 사용하진 않는다.
진행 순서
- 모놀리스 패캠페이 논리적 설계
- MSA 패캠페이 설계 및 구현
- MSA의 이슈 식별 및 패턴 적용
- 보안, 회고
스프링부트와 그중에서도 Hexagonal arch 사용할 예정이다.
Background of Monolithic
MSA를 배우기 전 모놀리스에 대한 개념을 먼저 짚고 가자.
- 모든 종류의 서비스가 하나의 어플리케이션으로 구성되어 있는 아키텍처를 의미한다.
특징은 다음과 같다.
- 하나의 주요 프로세스로 구성
- 모든 서비스가 하나의 DB endpoint를 사용
- 단 한 줄만 코드 수정이 되더라도, 모든 어플리케이션의 재배포 필요
- 싱글 혹은 멀티 모듈로 구성할 수는 있지만 CI의 단위가 달라질 뿐, CD 범위는 여전히 전체
도메인 AI agent의 모든 것 : 보안 특화 모델 설계부터 금융 멀티 에이전트 구축까지
강의 들어가기 전.. 파이썬 3.11에 맞추기 폐쇄망 실습은 OpenAI Compatible API를 활용할 예정이다.
자연어처리 입문
자연어 임베딩의 이해
컴퓨터는 자연어를 어떻게 이해할까? -> UTF-8 -> ASCII -> 컴퓨터가 계산 시에는 이것을 2진수로 바꿔서 표현 이 “표현”에 의미를 담고 있지는 않다.
각각의 독립된 값으로 표현(메모리 부담) -> 더욱 적은 가짓ㅇ수를 바탕으로 언어를 표현해야 효과적인 처리 가능!
-> 자주 쓰이는 단어에 대한 각각의 key값을 mapping -> 이것이 tokenization의 시작
의미를 표현했으니 이제 이것을 어떻게 “이해”할지를 알아야 한다. -> Sematics
- 기계학습의 근본 원리 “매니폴드 가설” (이론은 아니다)
- 높은 차원에 존재하는 데이터의 경우, 해당 데이터를 이루는 낮은 차원의 다양체 역시 존재한다.
언어(고차원) -> 저차원으로도 표현, 이해할 수 있다! 그리고 이러한 과정을 “임베딩”이라고 한다.
의미라고 하는 것을 거리로 표현, 이때 사용하는 유클리디언 거리와 코사인 유사도 word2vec.kr에서 의미 연산을 직접 실험해볼 수 있다. 임베딩은 768차원~4096차원 등 인간이 인지 가능한 3차원에 비해 상당히 고차원적이다.
범위 외 부분이지만 TSNE/UMAP 같은 기법으로 우리의 인지 범위까지 축소시켜볼 수는 있다(다만 여기서 정보 손실이 과하게 발생되기에 연산용으로 부적합하다)