본문 바로가기
반응형

분류 전체보기205

JAVA 22 업데이트 최근 개발자 커뮤니티에서 보면 자바 사용자가 줄어들고 있습니다. 하지만 여전히 파이썬에 비하면 더 빠르고 사용자 층도 많으며 엔터프라이즈급에서는 아직도 많이 사용되고 있는 언어입니다. 자바는 오라클에서 인수한 뒤에 주기적으로 업데이트를 거쳐 현재는 22버전까지 나오게 되었습니다. 그러면 이번 업데이트의 주요 사항을 살펴보도록 하겠습니다. 이번 JDK 22의 주요 개선 사항은 총 12개 입니다. 이 중 7개는 프리뷰 기능이며 하나는 아직 인큐베이터 기능입니다. 1. 언어 개선 사항 JEP 456: 언네임드 변수 및 패턴 변수 선언이나 중첩된 패턴이 필요하지만 사용되지 않을 때 가독성을 향상시킵니다. 둘 다 밑줄 문자로 표시됩니다. JEP 447: super(...) 앞의 명령문 (프리뷰) 생성자에서 생성되.. 2024. 3. 26.
GaLore: Memory-Efficient LLM Training by Gradient Low-Rank Projection 대규모 언어 모델(LLM) 훈련은 상당한 양의 메모리와 컴퓨팅 파워를 요구합니다. 예를 들어, LLaMA 7B 모델을 처음부터 사전 훈련하려면 단일 배치 크기에 최소 58GB의 메모리가 필요합니다. 이러한 메모리 문제를 완화하기 위해 등장한 한 방법은 Low-rank Adaptation (LoRA)입니다. 이 접근 방식은 각 계층에 훈련된 Low-rank 행렬을 추가함으로써 파라미터의 수를 줄입니다. 그러나, 이 방법은 Low-rank subspace 내에서 파라미터 검색을 제한하고, 학습을 다이나믹하게 변경하며, full-rank 의 웜 스타트를 필요로 할 수 있어, full-rank 가중치로 훈련했을 때보다 열등한 성능을 초래할 수 있습니다. GaLore: Gradient Low-Rank Projec.. 2024. 3. 26.
스파크(Spark) 최적화하기 스파크(Spark)란 무엇인가? 아파치 스파크(Apache Spark)는 클러스터 환경 내에서 병렬 데이터 처리를 위해 설계된 일련의 라이브러리와 함께하는 통합 컴퓨팅 엔진입니다. 병렬 처리를 위한 가장 활발하게 개발되는 오픈소스 엔진으로서, 스파크는 빅 데이터 작업에 참여하는 개발자들과 데이터 과학자들 사이에서 표준 도구로 빠르게 부상하고 있습니다. 스파크는 파이썬, 자바, 스칼라, R과 같은 인기 있는 프로그래밍 언어와 호환되며, SQL부터 스트리밍, 머신러닝에 이르기까지 다양한 기능을 다루는 광범위한 라이브러리를 제공합니다. 스파크는 다양하게 활용될 수 있으며, 단일 노트북에서부터 수천 대의 서버로 구성된 광대한 클러스터에 이르기까지 다양한 환경에서 운영될 수 있습니다. 이러한 기능을 활용함으로써 .. 2024. 3. 21.
LoRA: Low-Rank Adaptation of Large Language Models 인공 지능과 기계 학습의 끊임없이 변화하는 풍경 속에서, 더 효율적이고 효과적인 모델 튜닝 방법을 찾는 탐구는 계속되고 있습니다. 주목받고 있는 한 가지 흥미로운 접근 방식은 LoRA, 즉 Low-Rank Adaptation입니다. LoRA는 특히 자원이 제한된 환경이나 대규모 데이터셋을 다룰 때 모델의 성능을 향상시키는 유망한 해결책을 제공합니다. LoRA 방법론의 핵심은 Low-Rank Decomposition입니다. 실제로, 이는 대규모 차원의 행렬 연산을 낮은 차원으로 분해하는 것을 포함합니다. Self-attention 연산을 고려해 보겠습니다. Self Attention에서는 행렬 연산을 사용하여 Q, K, V를 구성해야 합니다. Q, K, V를 생성하는 데 사용되는 행렬 W는 매우 고차원입니.. 2024. 3. 20.
반응형