본문 바로가기

분류 전체보기

(71)
BPE 서브워드 토크나이저 기본적으로 모델에서 사용하는 토크나이저 즉 컴퓨터가 학습할 수 있게 자연어를 임베딩 전까지 진행시켜주는 것이 토크나이저이다.허깅페이스에서 제공하는 transformer에 AutoTokenizer를 사용하여 해당 모델이 사용한 토크나이저를 불러올수 있다. 나는 여기서 궁금증을 가지게 되었는데, 이 토큰화를 하는 과정이 되게 중요할 것인데 어떠한 방식으로 진행하는지 궁금해지기 시작했다.공부하면서 배웠지만 시간이 흘러가니 다시 잊게 되어 다시 한번 찾아보았다. 토큰화란 기본적으로 글자를 숫자로 변경하는 것문장을 토큰으로 바꾸는 알고리즘은 여러개가 존재하였다. 단어 기반(Word-base Tokenization), 글자 기반(character-base Tokenization)단어 기반에 경우 단어를 위주로 토큰..
1655 가운데를 말해요
[대규모 시스템 설계 기초] 4장 처리율 제한 장치의 설계 네트워크 시스템에서 처리율 제한 장치는 클라이언트 또는 서비스가 보내는 트래픽의 처리율을 제어하기 위한 장치 입니다.API 요청 횟수가 제한 장치에 정의된 임계치를 넘어서면 추가로 도달한 모든 호출은 처리가 중단이 됩니다.이는 Dos를 통한 자원 고갈을 방지 하기 위해서 입니다. 이러한 처리율 제한 장치를 클라이언트에 둔다면, 쉽게 위조변조가 가능해서 통제하는 것이 어렵습니다.그리하여 다른 방법이 존재하는데 처리율 제한 장치를 API 서버에 두는 대신, 처리율 제한 미들웨어를 만들어 해당 미들웨어로 하여금 API 서버로 가는 요청을 통제하는 방식입니다. 이러한 처리율 제한 장치의 알고리즘은 여러개가 존재하는데 해당 알고리즘들에 대해서 알아보겠습니다. 토큰 버킷 (버킷에 담겨져 있는 토큰의 갯수 만큼..
[대규모 시스템 설계 기초] 3장 시스템 설계 면접 공략법 시스템 설계 면접이란 두명의 동료가 모호한 문제를 풀기 위해 협력 하여 그 해결책을 찾아내는 과정에 대한 시뮬레이션이다. 엔지니어가 가져야할 가장 중요한 기술 중 하나는 올바른 질문을 하는 것, 적절한 가정을 하는 것, 그리고 시스템 구축에 필요한 정보를 모으는 것이다. 1단계문제 이해 및 설계 범위 확정예를 들어 뉴스 포스팅 하는 것을 만들라는 프로젝ㅌ에 대한 시스템 설계를 해라웹, 모바일 둘다 지원하는 것인지? 이런식으로 문제에 대한 이해도와 범위를 설계하는 것이 중요하다.요구사항을 이해하고 모호함을 없애는 것이 이 단계에서 가장 중요하다는 것을 명심 2단계 개략적인 설계안 제시 및 동의 구하기면접관을 마치 팀원인 것 처럼 대하여라 핵심 컴포넌트를 포함하는 다이어그램을 그려라, 클라이언트, API, ..
EntityManager란? JPA 를 사용하는데 있어 중요한 개념이다. EntityManager엔티티를 저장하고, 관리하는 1차 캐시 역할을 하는 메모리 공간이다.이 컨텍스트는 EntityManager가 관리하게 되며, 동일 트랜잭션 내에서 동일한 객체를 계속 반환하고 변경사항을 추적하게 된다. 영속성에 대한 특성은 총 4가지가 존재 한다.비영속: 영속성 컨텍스트와 무관한 일반적인 Java객체 new로 생성되는거영속: 영속성 컨텍스트에 주입 또는 관리 em.persist() 이후 상태준영속: 영속화 되었다가 분리된 경우 ( 식별자는 있지만, 영속성 컨텍스트에 없는 객체) em.detach() or em.clear()삭제: 영속성 컨텍스트에서 아예 삭제된 데이터 트랜잭션 커밋 시 DB에서 삭제 em.remove() 여기서 의미하는 ..
[대규모 시스템 설계 기초] 2장 개략적인 규모 추정 시스템 설계 면접 - 시스템 용량이나, 성능 요구사항을 개략적으로 추정해 보라는 요구규모 확장성을 표현하는데 필요한 기본기에 능숙 해야 한다.2의 제곱수, 응답지연 , 값, 가용성  고가용성 - 시스템이 오랜 시간 동안 지속적으로 중단 없이 운영될 수 있는 능력을 지칭  2장 핵심은 예제를 통한 QPS와 저장소 요구량 추정예시) 트위터 사용자 3억 명 ,50%의 사용자가 매일 트위터 ,평균적으로 각 사용자는 매일 2개의 트윗을 올린다.- 미디어를 포함하는 트윗은 10% 정도- 데이터는 5년간 보관이 된다. QPS(Query Per Second) 추정치일간 능동 사용자 (Daily Active User DAU) = 3억 X 50% = 1.5억QPS = 1.5억 x 2 트윗 / 24시간 / 3600초 = 3..
[대규모 시스템 설계 기초] 1장 사용자 수에 따른 규모 확장성 한 명의 사용자를 지원하는 시스템에서 시작하여, 최종적으로는 몇백만 사용자를 지원하는 시스템을 설계 사용자 단말 → 도메인 이름 DNS 질의 → IP 전달 → 해당 IP로 웹사이트에 요청해서 결과값을 받는다.RDMS - oracle, PostgreSql, mysqlNoSql - CochDB, Nedo4j,Cassandra,HBASE, Amazon DynamoDB (키-값, 그래프, 칼럼, 문서) JOIN 지원 X아주 낮은 응답 지연시간 (latency) 요구다루는 데이터가 비정형데이터 JSON,YAML,XML등 직렬화 or 역직렬화아주 많은 양의 데이터를 저장할 필요가 있음.직렬화: 데이터를 줄 세워서 전달할 수 있도록 변환예: 객체 → JSON 문자열역직렬화: 줄 세운 데이터를 다시 원래 모습으로 복원..
TypeError: Cannot read property 'getConstants' of null [Component Stack] 어플에서 카메라 기능을 구현하려고 하는데 카메라에 대한 Constants 값이 계속 null로 나와 카메라 기능이 구현이 되지 않는 에러가 발생했다. 이 문제를 해결하기 위해 여러 웹사이트를 뒤져봤는데 명확한 해답이 나오지 않았어서 해당 내용을 정리 한다. Warning: TypeError: Cannot read property 'CameraDevices' of undefined위에 문제와 카메라에대한 정의를 읽어 오지 않는 문제가 동시에 나왔다. 스택오버플로나, 깃허브 이슈 등에서 해당 문제들을 찾아봤지만 여러 방법을 사용해봤지만 해결되지 않았다.  네이티브 0.76vision-carmera 4.6.4카메라 라이브러리는https://react-native-vision-camera.com/ VisionC..
BERT 언어 모델 BERT 모델은 Transformer 모델에서 Encoder 부분 사용한 언어 모델 입니다.https://github.com/codertimo/BERT-pytorch  GitHub - codertimo/BERT-pytorch: Google AI 2018 BERT pytorch implementationGoogle AI 2018 BERT pytorch implementation. Contribute to codertimo/BERT-pytorch development by creating an account on GitHub.github.com코드를 기반으로  BERT 모델의 전반적인 학습 과정에 대해 소개해보겠습니다.  Transformer 모델의 구조를 확인하면 Encoder 부분과 Decoder 부분을..
jupyter notebook 커널 죽는 문제 주피터 노트북에서 해당 코드를 돌리게 되면 커널이 계속 죽는 일이 발생했다. 구글에서 max_buffer의 값을 늘리면 해결된다고 했는데, 내 경우에는 해결이 되지 않았다. Pycharm에서 돌리니 커널이 죽지는 않는데 시간이 엄청 걸린다. * colab에서 해결했다.