Backgroundtmux는 하나의 터미널 세션 안에서 여러 개의 터미널 창을 생성하고 Background로 관리할 수 있게 해 주는 도구이다. 즉, 터미널 멀티플렉서의 역할을 수행한다. 그렇기 때문에 서버 작업이나 개발 환경에서 특히 유용하게 사용된다. 주요 기능으로는 여러 세션 관리, 창과 패널, 세션 유지, 네트워크 장애 복구 등이 있다고 한다. 실제로 tmux를 사용하면서 가장 좋았던 점은 "Background에서 작업을 유지하는 데 편하다"이다. 실제로 nohup 사용 당시 실행 중인 프로그램을 내릴 때 직접 PID를 찾아서 내렸던 기억이 있다.(이 부분은 nohup에 대한 이해도 부족의 이슈도 있다.) 하지만 tmux에서는 직접 생성한 이름의 세션에 들어가서 작업을 확인 혹은 추가 진행할 수..
Oneulog
Background여러 데모들을 동시에 만들게 되면서 LLM을 각 데모 별로 서버에 올리기에는 메모리 제한이 생길 수 밖에 없는 현상이 발생했다. 제작 중인 데모들은 실제 계약 및 사업 진행으로 이루어진 것들이 아니기에 LLM Base 모델로 Prompting 혹은 물리적인 작업들을 진행하는 게 전부였기 때문에 HuggingFace에 올라와 있는 Base 모델만 활용하고 있었다. 그렇기 때문에 LLM Serving Framework 중 하나인 SGLang을 활용해서 LLM API Server를 만들고 각 데모에서 텍스트를 입력받을 시 LLM API Server를 호출해서 답변을 얻는 방식으로 진행하고자 했다. 물론 이 과정은 진행 중인 데모에 특정 LLM 모델을 사용한다는 점을 전제로 한다. 또 SGLa..
0. Abstract자연어 이해는 텍스트 수반, 질문 답변, 의미적 유사성 평가와 문서 분류와 같은 매우 다양한 task로 구성된다. 대규모의 라벨링되지 않은 텍스트 코퍼스는 풍부하지만, 특정 task를 학습하기 위한 라벨링된 데이터가 부족해, 차별적으로 학습된 모델이 적절한 성능을 발휘하기가 어렵다. 본 논문은 라벨이 없는 다양한 텍스트 코퍼스에 대해 언어 모델을 생성적으로 학습한 다음 각 특정 작업에 대해 차별적으로 fine-tuning하면 이러한 작업에서 큰 이득을 얻을 수 있음을 입증한다. 이전 접근 방식과 달리 fine-tuning 중에 task-aware input transformations을 사용해 모델 아키텍처를 최소한으로 변경하면서 효과적인 transfer를 달성한다. 자연어 이해에 대..
0. ABSTRACT본 논문은 speaker diarization을 위해 python에서 작성된 open-source toolkit인 pyannote.audio를 소개한다. PyTorch 머신 러닝 프레임워크를 기반으로 하는 이 도구는 speaker diarization pipelines를 구축하기 위해 결합하고 공동으로 최적화할 수 있는 일련의 훈련 가능한 end-to-end neural building blocks을 제공한다. 또한 pyannote.audio에는 음성 활동 감지, 화자 변경 감지, 화자 임베딩 등 광범위한 도메인에 대한 pre-trained model이 포함되어 있으며 대부분의 도메인에서 최첨단 성능을 발휘한다. 1. INTRODUCTIONspeaker diarization은 화자 별..
https://www.acmicpc.net/problem/2589문제보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 이동은 상하좌우로 이웃한 육지로만 가능하며, 한 칸 이동하는데 한 시간이 걸린다. 보물은 서로 간에 최단 거리로 이동하는데 있어 가장 긴 시간이 걸리는 육지 두 곳에 나뉘어 묻혀있다. 육지를 나타내는 두 곳 사이를 최단 거리로 이동하려면 같은 곳을 두 번 이상 지나가거나, 멀리 돌아가서는 안 된다.예를 들어 위와 같이 지도가 주어졌다면 보물은 아래 표시된 두 곳에 묻혀 있게 되고, 이 둘 사이의 최단 거리로 이동하는 시간은 8시간이 된다.보물 지..
0. Abstract본 논문은 sequence-to-sequence 모델을 사전학습하기 위한 denoising autoencoder인 BART를 소개한다. BART는 임의의 noising 함수를 사용해 텍스트를 손상시키고 모델이 원본 텍스트를 재구성하도록 학습되었다. BART는 표준 Transformer 기반 신경망 기계 번역 아키텍처를 사용하는데, 이는 간단함에도 불구하고 BERT(양방향 인코더 사용), GPT(좌우 디코더 사용) 및 기타 여러 최신 사전 학습 방식을 일반화한 것으로 볼 수 있다. 본 논문에서는 원래 문장의 순서를 무작위로 섞고 텍스트 범위를 단일 마스크 토큰으로 대체하는 새로운 infilling scheme를 사용해 여러 noise 처리 방법을 평가하여 최상의 성능을 찾았다. BART..
https://www.acmicpc.net/problem/9024문제여러 개의 서로 다른 정수 S = {a1, a2, …, an} 와 또 다른 정수 K 가 주어졌을 때, S 에 속하는 서로 다른 두 개의 정수의 합이 K 에 가장 가까운 두 정수를 구하시오. 예를 들어, 10 개의 정수S = { -7, 9, 2, -4, 12, 1, 5, -3, -2, 0}가 주어졌을 때, K = 8 에 그 합이 가장 가까운 두 정수는 {12, -4} 이다. 또한 K = 4 에 그 합이 가장 가까운 두 정수는 {-7, 12}, {9, -4}, {5, -2}, {5, 0}, {1, 2} 등의 다섯 종류가 있다.여러 개의 서로 다른 정수가 주어졌을 때, 주어진 정수들 중에서 서로 다른 두 정수의 합이 주어진 또 다른 정수에 가..
https://www.acmicpc.net/problem/14921문제홍익대 화학연구소는 다양한 용액을 보유하고 있다. 각 용액은 -100,000,000부터 100,000,000사이의 특성 값을 갖는데,같은 양의 두 용액을 혼합하면, 그 특성값은 두 용액의 특성값의 합이 된다.당신은 두 용액을 혼합하여 특성값이 0에 가장 가까운 용액을 만들려고 하는데, 각 용액은 10ml시험관에 10ml씩 들어있고, 빈 20ml 시험관이 단 하나 있다. 게다가 용액을 계량할 수 없어서, 두 용액을 섞을 때는 10ml씩 섞어서 20ml로 만드는데, 단 한번밖에 할 수 없다. 그래서 미리 용액의 특성값들을 보고, 어떤 두 용액을 섞을 것인지 정해야 한다.예를 들어, 연구소에 있는 용액들의 특성값이 [-101, -3, -1,..