디지털 라이브러리[ 검색결과 ]
Octave-YOLO: 실시간 객체 탐지를 위한 직접적 다중 스케일 특징 융합
http://doi.org/10.5626/JOK.2024.51.9.792
최근 객체 탐지 분야에서는 다양한 크기의 객체를 감지하기 위하여 여러 스케일의 특징 맵들을 융합하는 다중 스케일 특징 융합을 위한 많은 연구가 진행되고 있다. 이러한 다중 스케일의 특징맵을 융합하기 위해, FPN(Feature Pyramid Network)이나 PANet(Path Aggregation Network) 등의 다양한 네트워크 구조가 제시되었다. FPN을 개선한 PANet은 하향식 경로뿐만 아니라 상향식 경로를 추가하여 객체 탐지 분야에서 큰 성능 향상을 이루었다. 그러나 기존 PANet에서의 다중 스케일 특징 융합을 위한 업스케일링 또는 다운스케일링 과정은 원래 특징 맵에서 보존된 저수준 또는 고수준 정보의 손실을 야기 했다. 본 논문에서는 옥타브 합성곱(Octave Convolution)을 통한 별도의 처리 없이 다양한 크기의 특징 맵을 원활하게 융합할 수 있는 Octave C2f 모듈을 제안하여 정확성을 향상시키고 계산 복잡도를 줄였다. PASCAL VOC 및 MS COCO 데이터 세트를 사용한 실험 결과, YOLOv8 기본 모델과 비교하여 개선된 정확성과 감소된 계산 작업량 및 매개변수 개수를 확인할 수 있었다.
Hierarchical N:M Sparsity를 통한 DNN 모델 가속화
http://doi.org/10.5626/JOK.2024.51.7.583
N:M sparsity pruning은 NVIDIA의 Sparse Tensor Core 기술을 활용하여 심층 신경망을 압 축하는 강력한 기법입니다. 하지만 이 기법은 하드웨어에 제한으로 인해 압축률이 고정되고 불필요한 입력 데이터 접근이 늘어나며 불균형한 중요 파라미터의 분포를 해결하지 못한다. 본 논문은 vector sparsity를 먼저 적용한 후 N:M sparsity를 적용하는 Hierarchical N:M(HiNM) sparsity를 제안하고, 이 sparsity를 위해 설계된 2-axis channel permutation (2CP) 기법을 제안한다. 실험 결과, HiNM sparsity은 기존 N:M sparsity보다 2배 높은 압축률에서 latency가 평균적으로 37% 감소하였다.
Tensor-Train Decomposition을 적용한 임베딩 레이어를 위한 연산 최적화 기법
http://doi.org/10.5626/JOK.2023.50.9.729
개인 맞춤형 추천 시스템은 일상에 녹아 들어있다. 하지만 딥 러닝 기반 추천 시스템 모델에서 임베딩 레이어는 과거 유저가 상호 작용하는 아이템 수가 늘어남에 따라, 임베딩 테이블의 메모리 사용량이 늘어 산업용 AI 데이터 센터의 리소스 대부분을 차지하고 있다. 이 문제를 극복하기 위한 해결책 중 하나는 심층 신경망에서 유망한 압축 기법인 Tensor-Train (TT) 분해이다. 본 연구에서는 TT-분해 기법이 적용된 임베딩 레이어의 연산인 Tensor-Train Gather and Reduce (TT-GnR)에서 발생하는 불필요한 연산에 관해 분석하고 이를 해결하기 위해 아이템 벡터들을 하나로 묶는 연산 단위인 그룹을 정의하고 그룹 단위로 연산하여 불필요한 연산을 줄이는 Group Reduced TT-Gather and Reduce (GRT-GnR) 연산을 제안한다. 실험을 통해 기존 TT-GnR 연산에 비해 latency가 41% 감소한다.
Processing-in-Memory를 위한 코드 생성 및 데이터 레이아웃 변형 기법
http://doi.org/10.5626/JOK.2023.50.8.639
Processing-in-Memory(PIM)은 메모리 내부의 병렬성과 대역폭을 활용하여 메모리 집약적인 연산에서 CPU 또는 GPU와 비교하여 좋은 성능을 달성한다. 그러나, 다양한 PIM 구조가 제안된 것에 비해 PIM 컴파일러에 대한 연구는 부족한 상황이다. 다양한 PIM의 구조를 고려하여 코드를 생성하기 위해서는 일반적인 PIM 스케줄 프리미티브와 PIM 메모리에 데이터를 저장하는 레이아웃을 고려해야 한다. 또한, PIM과 호스트 사이에 발생하는 데이터 이동을 최소화해야 한다. 본 논문에서 제안하는 PIM 컴파일러는 일반적인 PIM 구조를 정의하여 이러한 고려 사항을 해결하고, 추가로 레지스터 재사용 최적화를 통해 다양한 GEMV 연산에서 최대 2.49배 성능 개선을 달성한다.
오픈 채널 SSD에서 성능 간섭 제거를 위한 호스트 수준 I/O 스케줄러
http://doi.org/10.5626/JOK.2020.47.2.119
최근 솔리드 스테이트 드라이브(SSD)가 하드 디스크 드라이브(HDD)에 비해 높은 I/O 성능 및 낮은 에너지 소비를 제공함에 따라 여러 사용자가 자원을 공유하는 데이터센터 및 클라우드 컴퓨팅 환경에서 SSD의 사용이 확장되고 있다. 이러한 전환에 따라, 각 사용자에 서비스 품질(Quality of Service)을 보장하는 방법에 대한 연구가 활발히 이뤄지고 있다. 이전에 제안된 Workload-Aware Budget Compensation (WA-BC) 스케줄러는 NVMe SSD를 여러 가상머신이 공유하는 환경에서 각 가상머신의 QoS를 보장한다. 하지만 WA-BC 스케줄러는 가상머신별 워크로드 특징을 알아내기 위해 멀티 스트림 SSD를 부적절하게 사용한다는 점에서 취약하다. 우리는 이와 같은 취약점을 보완하여 오픈 채널 SSD를 여러 사용자가 공유하는 환경에서 사용자 간 성능 간섭을 제거하는 호스트 수준의 I/O 스케줄러를 제안한다. 제안된 스케줄러는 SSD 스트림을 사용자별로 할당하지 않고도 워크로드 특징을 I/O 요청의 연속성을 통해 파악한다. 이는 제안된 스케줄러가 호스트 수준의 스케줄러이나 오픈 채널 SSD의 특성을 활용하여 디바이스 내부의 정보를 스케줄링에 반영할 수 있기에 가능하다. 워크로드의 특성을 통해 SSD 내 I/O 간섭을 발생시키는 가비지 컬렉션에 대한 기여도를 파악하고, 기여도가 높은 사용자에 대해 처벌함으로써 우리는 스토리지 자원을 공유하는 여러 사용자 간에 발생하는 성능 간섭을 제거할 수 있음을 본 연구에서 보인다.
ARM 기반 IoT 장치에서 효율적인 딥 러닝 수행을 위한 BLAS 및 신경망 라이브러리의 성능 및 에너지 비교
http://doi.org/10.5626/JOK.2019.46.3.219
기존에 IoT 장치에서 딥 러닝을 수행하기 위해 주로 클라우드 컴퓨팅을 사용했다. 그러나 클라우드 컴퓨팅을 사용할 경우 연결을 보장할 수 없고, 통신을 위한 에너지 소모, 그리고 보안에 대한 취약성이 문제가 된다. 이와 같은 문제점을 해결하기 위해 최근 IoT 장치 내에서 딥 러닝을 수행하기 위한 시도가 진행되고 있다. 이 시도들은 주로 IoT 장치를 위한 연산량이 적은 딥 러닝 모델 또는 압축 기법 등을 제안하지만, 실제 IoT 장치에서 수행될 때의 영향에 대한 분석이 부족했다. IoT 장치마다 연산 장치의 구성과 지원되는 라이브러리가 다르기 때문에, 최적의 딥 러닝 수행을 위해 각 IoT 장치에서 다양한 수행환경에 대한 분석이 필요하다. 본 논문에서는 다양한 하드웨어 구성을 가진 IoT 장치에서 수행 환경에 따른 성능 및 에너지를 측정하고 분석한다. 또한, 적절한 라이브러리를 사용하는 것만으로도 속도와 에너지 효율이 최대 9.43배, 26.78배까지 상승하는 것을 보여준다.
Smart Fog : 다중 서비스 사물 인터넷 시스템을 위한 포그 서버 중심 사물 추상화 프레임워크
최근 여러 사물 인터넷 서비스가 사물 장치를 공유하는 다중 서비스 시스템을 구현하기 위해, 다양한 구조의 사물 추상화 프레임워크들이 제시되었다. 분산형 구조는 사물 인터넷 서비스 중복 문제가 있으며, 클라우드 서버 중심 구조는 실시간 인터랙션을 할 수 없다. 또한, 기존의 포그 서버 중심 구조에서는 불완전한 인터페이스가 사용되었다. 본 논문에서는 기존 구조의 문제를 해결한 사물 추상화 프레임워크인 Smart Fog를 제안하였다. Smart Fog는 스마트 게이트웨이와 3개의 IoT 인터페이스들로 구성된다. Smart Fog는 IoTivity와 OIC 표준을 기반으로 구현되었고, 이를 이용하여 실제 임베디드 장치인 Odroid-XU3에서 프로토타입을 구현하였다. 프로토타입 상에서 실험한 결과, Smart Fog가 실시간 인터랙션이 가능할 정도로 네트워크 지연 시간이 짧고, 분산형 구조에 비해 모바일 장치에서 발생하는 네트워크 트래픽이 74%, 전력 소모가 21% 감소함을 확인하였다.
데이터베이스 시스템의 원자성 쓰기 보장을 위한 스토리지 I/O 서브시스템
최근 데이터베이스 관리 시스템에서는 이중 쓰기 버퍼 기법의 단점을 보완할 수 있는 원자성쓰기 기법이 제시되었다. 원자성 쓰기 기법을 지원하기 위해서는 파일시스템과 I/O 스케줄러 등의 I/O 서브시스템과 SSD의 원자성 쓰기의 보장이 필요하다. 본 연구에서는 MariaDB의 데이터 쓰기의 기본 단위를 사용하여, 쓰기 단위 연속 블록 할당 기법, 플래그 전달을 통한 I/O 명령 병합 방지 기법, 원자성 쓰기를 지원하는 SSD를 통해 MariaDB의 원자성 쓰기를 지원하는 연구를 진행하였다. Tpcc-mysql와 SysBench를 사용하여 MariaDB에 제안된 기법을 적용한 결과, 원자성 쓰기 기법의 성능을 평가한 결과, 데이터베이스의 처리량이 이중 쓰기 버퍼 기법을 사용한 MariaDB 대비 약 40%~50% 향상된 것을 확인하였다.
부분 가비지 컬렉션을 이용한 로그 구조 파일시스템의 쓰기 성능 개선
최근 플래시 저장장치의 사용이 대중화되면서 플래시 저장장치의 특성에 맞는 로그 구조 파일시스템에 대한 관심도 높아지고 있다. 로그 구조 파일시스템은 사용자의 임의 쓰기를 파일시스템에서 순차쓰기로 바꾸어 처리한다. 이 순차 쓰기를 유지하기 위해 파일시스템에서 가비지 컬렉션(Garbage Collection)을 해 주어야 하는데, 이때 오버헤드로 인해 쓰기 성능이 감소하는 것을 막기 위한 기법으로 SSR (Slack Space Recycling)이 제시되었다. 그런데, SSR은 임의 쓰기를 발생시키기 때문에, 임의 쓰기성능이 낮은 저가형 저장장치에서 쓰기 성능을 감소시키는 문제가 있다. 본 논문에서 제시하는 부분 가비지 컬렉션은 SSR방식으로 데이터를 기록하기 전에 유효한 블록들을 일부만 복사하여 옮김으로써 무효화된 공간의 크기를 늘려 임의 쓰기 수를 줄여서 쓰기 성능을 증가시키는 기법으로, SD 카드에서 쓰기 성능을 최대 두 배 이상 증가시켰다.