논문 : https://arxiv.org/abs/2402.12374
Memory Bounds for the Experts Problem
논문 : https://arxiv.org/abs/2204.09837
Helix Distributed Serving of Large Language Models via Max-Flow on Heterogeneous GPUs
논문 : https://arxiv.org/abs/2406.01566v1
GraphPipe Improving Performance and Scalability of DNN Training with Graph Pipeline Parallelism
개인의견 : pipeline Parallelism에 관련된 논문을 몇개 봤는데 그 중에서 가장 재밋는 논문인것 같네요. graph의 toplogy-aware Pipeline Parallelism이라는 당연한 개념을 포함하여 효과적인 결과를 내는것 같습니다. 다만 구현에 대한 오버헤드는 쫌 있을꺼같군요
Reasoning over Public and Private Data in Retrieval-Based Systems
개인의견 : 잘모르는 분야이지만 meta publication을 보다가 흥미로워 보여서 선택한 논문.(내가 잘몰라서 질문을 못하겠다 ㅎㅎ;)
MEGABYTE Predicting Million-byte Sequences with Multiscale Transformers
개인의견 : 패치 기반의 병렬 연산과 Cross-Attention을 통한 글로벌-로컬 상호작용, 그리고 토크나이저 free? 한 신기한 논문으로 보인다.
Reasoning over Public and Private Data in Retrieval-Based Systems
개인의견 : 잘모르는 분야이지만 meta publication을 보다가 흥미로워 보여서 선택한 논문.(내가 잘몰라서 질문을 못하겠다 ㅎㅎ;)
Breaking the Curse of Quality Saturation with User-Centric Ranking
개인의견 : 잘모르는 분야이지만 meta publication을 보다가 흥미로워 보여서 선택한 논문.(내가 잘몰라서 질문을 못하겠다 ㅎㅎ;)
Teola Towards End-to-End Optimization of LLM-based Applications
논문 : https://arxiv.org/abs/2407.00326
Quest Query-Aware Sparsity for Efficient Long-Context LLM Inference
논문 : https://arxiv.org/abs/2406.10774
What Matters in Transformers? Not All Attention is Needed Fusion
논문 : https://arxiv.org/abs/2406.15786v1
KV Cache Compression, But What Must We Give in Return? A Comprehensive Benchmark of Long Context Capable Approaches
논문 : https://arxiv.org/abs/2407.01527v1
FlexGen High-Throughput Generative Inference of Large Language Models with a Single GPU
논문 : https://arxiv.org/abs/2303.06865
Prompt Cache Modular Attention Reuse for Low-Latency Inference
논문 : https://arxiv.org/abs/2311.04934
Better & Faster Large Language Models via Multi-token Prediction
논문 : https://arxiv.org/abs/2404.19737
Keyformer KV Cache Reduction through Key Tokens Selection for Efficient Generative Inference
논문 : https://arxiv.org/abs/2403.09054
CacheBlend Fast Large Language Model Serving for RAG with Cached Knowledge Fusion
논문 : https://arxiv.org/abs/2405.16444
Taming Throughput-Latency Tradeoff in LLM Inference with Sarathi-Serve
논문 : https://arxiv.org/abs/2403.02310
블로그 다시 시작..
처음 블로그를 만든 날짜를 보니 포항에서 열심히 대학원을 다닐떄 였군요 아마 첫논문을 작성할 때 쯤부터 너무 정신이 없어서 간간히 작성하던 블로그가 멈춰있었던것 같습니다.
자주쓰는 파이썬 스크립트 패턴
개인적으로 shell보다는 python를 자주 사용하기 때문에 자주 사용하는 패턴들을 간단하게 정리
glob,os
glob는 유닉스 스타일 경로명 패턴 확장 라이브러입니다. 이것과 os 라이브러리를 이용하면 간단하게 파일을 찾거나 바꿀수 있습니다. 개인적으로 실험 결과를 파싱할때 많이 사용하는 라이브러리 입니다.
간단논문 정리 TVM An Automated End-to-End Optimizing Compiler for Deep Learning (OSDI 18)
논문 정리 LLVM A Compilation Framework for Lifelong Program Analysis & Transformation(CGO 04)
논문 정리 Chameleon Adaptive Code Optimization for Expedited Deep Neural Network Compilation(ICLR 2020)
논문 정리 NeuroVectorizer End-to-End Vectorization with Deep Reinforcement Learning (CGO 20)
간단논문 정리 Fast and Effective Orchestration of Compiler Optimizations(Zhelong Pan,Rudolf Eigenmann;Purdue University ;CGO’06)
간단논문 정리 End-to-End Deep Learning of Optimization Heuristics (PACT 17)
간단논문 정리 DARTS DIFFERENTIABLE ARCHITECTURE SEARCH (ICLR 2019)
LLVM loop unroll and jam pass and view-cfg
대학원 컴파일러 수업에서 ML을 이용하여 unroll and jam을 판별하는 모델을 학습을 하는 term project를 진행하였다. unroll and jam pass는 이름에서 알 수 있듯이 loop 최적화에 관련된 pass로 unroll 과 jam을 수행하여 innermost loop body의 병렬성을 증가시켜서 제한된 resource의 utilization을 증가시키는 최적화이다. 내 기억이 맞다면 O2 이상의 최적화 부터 적용되는데 opt의 debug를 통하여 볼때 생각보다 잘? 사용이 안된다. LLVM code를 보면 대부분 loop unroll과 loop fusion pass를 재활용하며 검사 정도만 하는데 이 때문에 da,lcssa,loop simplify가 조건을 만족하여도 unroll and jam pass가 동작되지 않는 경우가 많다.
LLVM (clang) build and install (ubuntu 18.04)
clone llvm repo
git clone -b llvmorg-10.0.0 https://github.com/llvm/llvm-project.git llvm10
configure
Ninja를 사용하면 컴파일 시간을 많이 단축할 수 있다.
cd llvm9
mkdir build
cmake -DLLVM_ENABLE_PROJECTS="clang;" -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON -G "Ninja" ../llvm
ninja
ElementryOS mouch pad Using it like a Mac Touch Gestures (Loki,Juno)
Logitech MX anywhere 2s 우분투에서 제스쳐 사용하기
Logitech 마우스는 options 라는 소프트웨어를 기본적으로 제공하여 키맵변경 logitech flow 등 많은 기능을 사용할 수 있다. 그러나 options 가 mac과 windows에서만 제공하는 바람에 9만원이나 하는 마우스가 그냥 돌덩이가 되어버렸다. 그러나 역시 리눅스에서 사용할 수 있는 방법이 있었다.
ubuntu에서 parallel gzip사용하여 빠르게 압축하기(pigz)
Pigz?
최근 많은 디바이스가 멀티코어를 사용하며 많은 프로그램이 멀티코어, 멀티프로세서를 이용하도록 작성되고있다. 이러한 흐름에 맞추어 압축프로그램인 gzip
을 멀티코어를 사용하도록 개발하는 프로젝트인 pigz
를 이용하면 빠른 압축을 진행 할 수 있다.
Ubuntu pdf 를 이미지로 변환
About
Pdf 를 이미지로 변환해야할 일이 종종 있어 구글에서 검색되는 사이트를 이용하곤 하지만 많은 양의 pdf 를 변환해야 하거나 개인정보가 있는 데이터를 서버에 올리기 꺼림직 한 경우가 있다 이럴때 터미널에서 직접 pdf 를 변환해보자. pdftoppm 를 이용할 것이며 다음과 같이 변환 하면 된다.
Example
pdftoppm filename.pdf output_name options
ubuntu 16.04 python3 opencv 3.4 설치
기존 설치된 패키지 업데이트
jupyter notebook 다른python이 실행될 시
jupyter notebook에서 python3 를 실행하였는데 python2 커널이 계속 실행되었는데 아래외 같이 해결하면 된다.
ipython3 kernel install
references
inplace_swap
void inplace_swap(int *x,int *y)
{
*y=*x^*y;
*x=*x^*y;
*y=*x^*y;
}
ElementryOS mouch pad Using it like a Mac Touch Gestures (Loki,Juno)
Adding Gestures
docker tag 검색하기
도커에서 이미지를 검색할시는 아래처럼 도커의 내장명령어를 사용하면 된다
docker search images
그런데 tag검색은 당연히 있을줄 알았는데 존재하지 않아서 당황스러웠다. 다행히도 찾는 방법이 존재하였다.
docker 로 gitlab만들기
도커 이미지 다운 및 실행
apt-get source 바꾸기
우분투 저장소 한국 미러(kr.archive.ubuntu.com)가 한번씩 죽는 경우가 있어서 다른곳으로 source를 바꾸어 보았다.
Linux ubuntu nvidia-docker 설치 및 자주 쓰는 명령어
도커란 ?
최근 많은 어플리케이션등은 컨테이너(container)를 통하여 관리 되고 있습니다. 컨테이너에는 코드와 실행에 필요한 소프트웨어 패키지가 담겨져 있으며 어떠한 환경이든 빠르고 안전하게(격리를 통하여) 실행할 수 있습니다.
Linux ubuntu Zsh 및 oh-my-zsh 설치
zsh 이란?
블로그 시작..
지금것 wordpress를 이용하여 블로그를 운영했으나, 2021년 부터 Github blog로 이전을 합니다. 글을 쓰는 빈도가 높지 않았는데 열심히 써보도록 하곘습니다.