본문 바로가기

728x90

분류 전체보기

(424)
[Paper Review] Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks https://www.cs.toronto.edu/~graves/icml_2006.pdf0. AbstractIn speech recognition, for example, an acoustic signal is transcribed into words or sub-word units.RNNs are powerful sequence learners but there are two problems. 0.1 Pre-segmented training dataExample: Let's say we have an audio clip of someone saying "Hello world". Pre-segmented data might look like this:"He-" (0.0s - 0.2s) "-llo" (0.2..
[Paper Review] Attention Is All You Need Attention Is All You NeedThe dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a newarxiv.org0. AbstractThe dominant sequence transduction models are based on complex recurrent or convolutional neural n..
Docker 프로덕트의 인계과정은 보통 다음과 같다. local 환경에서 개발 -> staging 서버에서 테스트 -> production 환경에 배포 각 단계별 환경이 다를 수 있다. 그래서 서버 환경까지 한번에 소프트웨어화하는 것이 가상화이며 docker가 이를 도와준다. 도커는 다른 VM들과 다르게 container 기술을 활용하여 더 가볍고 빠르고 쉽게 가상화를 구현할 수 있다. 누군가 OS, 설정등을 포함한 실행환경들을 담은 docker image를 만들어 놓으면 어디서든지 동일하게 해당 image를 실행할 수 있다. 도커 이미지를 원격 저장소에 올려두면 배포를 기다리는 서버는 해당 이미지를 내려받아서 실행하게 된다. 1. docker 이미지 생성 FROM python:3.9.13-slim WORKDIR /..
[Paper Review] Factorization Machine Factorization Machines In this paper, we introduce Factorization Machines (FM) which are a new model class that combines the advantages of Support Vector Machines (SVM) with factorization models. Like SVMs, FMs are a general predictor working with any real valued feature vector. ieeexplore.ieee.org Factorization Machines(FM)은 support vector machine(SVM)과 factorization model의 장점을 합한 새로운 예측기이다. 1)..
Airflow 일정 기간 데이터를 모아서 주기적으로 모델을 학습하거나 batch 묶음으로 한번에 예측을 하는 경우를 batch serving이라고 한다. Apache Airflow를 활용하면 scheduler를 통해 주기적인 학습 자동화 혹은 batch단위 예측을 구축할 수 있다. 1. DAGs (Directed Acyclic Graphs) airflow에서 스케쥴링할 작업을 DAG라고 부른다. 작업이 하나의 노드인셈이다. DAG란 여러 작업들이 그래프로 구성된 파이프라인인 셈이다. 2. Airflow 설치 // 가상환경 생성 python -m venv .venv source .venv/bin/activate // airflow 설치 pip3 install pip --upgrade AIRFLOW_VERSION=2...
Product Serving 관련 용어 정리 1. load balancer 서버를 여러 곳에 띄우는데 한쪽이 바쁜 상태면 덜 바쁜 곳으로 요청을 인계하는 것을 말한다. 예로 nginx가 있다. 2. Asynchronous 패턴 synchronous 패턴에서는 서버가 한명의 요청에 대한 작업이 마칠때까지 client는 응답을 기다리는 상태로 멈춰있다. 사용자의 수가 많아질수록 전체적인 응답 속도가 느려진다. 문제는 사용자가 응답을 받을 때까지 아무것도 하지 못한다는 것이다. 물론 서버 컴퓨터의 cpu와 메모리를 늘려서 서버의 연산 속도를 늘려 해소할 수 있겠지만 가격이 비싸고 요청수가 다시 증가하면 문제는 반복된다. asynchronous 패턴으로 위와 같은 문제를 해결할 수 있다. 클라이언트와 서버 사이에 message queue/cache를 둔다..
Closed Book Question Answering open domain question answering에서는 질문과 관련된 지문을 찾고 거기서 정답을 찾는 방식이였다. closed book QA에서는 모델이 사전에 대량의 지식으로 학습되었다면 하나의 지식 저장 창고로써 기능할 수 있지 않을까?에서 출발한다. 사전에 학습한 내용에 기반해서 질문에 정답을 즉시 뱉는 것이다. 1. Text-to-text T5에서 처음 제안한 방법이다. 모든 task의 문제를 test input으로 치환해서 한번에 학습시키는 것이다. T5에서도 mrc데이터셋을 가지고 finetuning을 수행하여 closed book qa에 사용해보았었다. 2. In-context Learning parameter를 실제로 업데이트 하지는 않으나 Instruction과 예제를 input에 ..
Passage Retrieval - Scaling up, FAISS passage들을 embedding한 벡터들을 저장해두고 꺼내오는 방법을 공부했다. passage들이 굉장히 많아질 경우 질문-지문 유사도를 계산하는 시간과 양도 매우 커진다. FAISS라이브러리를 활용해서 scale up하는 방법을 알아본다. 두 벡터간의 거리를 계산할 때 점과의 거리를 구할 수도 있지만 inner product를 더 자주 사용한다. (Maximum Inner Product Search) 방대한 문서 집합에서 query가 들어올 때마다 유사도를 전부 계산하기에는 부담스러울 수 있다. 문서가 많을 수록 search speed는 당연히 느지며 memory에 다 올려두기 힘들것이고 disk에서 불러온다면 시간이 오래걸릴 것이다. accuracy를 양보하더라도 더 효율적인 방법을 살펴보자. 1..

728x90