Bible, Lee, Data
Faith, software, data, and everyday life.
CategoriesAll posts
[NVIDIA Omniverse] 개발자 환경 구축: NVIDIA Omniverse Launcher
NVIDIA Omniverse를 알기 전에, 먼저 메타버스의 개념부터 짚고 넘어가도록 하자. 메타버스(Metaverse)메타버스는 초월(Meta)과 현실세계(Universe)를 합성한 단어로, 기존의 가상현실보다 확장된 개념이다. 즉, 메타버스는 현실과 가상이 분리된 것이 아니라 서로 현실같이 융합된 가상 환경을 의미한다.메타버스는 영화, 게임과 같은 콘텐츠 산업에서뿐만 아니라 디자인, 엔지니어링, 커머스와 같은 산업에서도 영향을 주고 있다. 실제로 가상현실 기반의 회의 공간이나 전시장을 구축하여 비즈니스 활동을 지원하는 것까지 다양한 형태로 활용된다. 비즈니스 영역의 메타버스비즈니스 영역의 메타버스에서는 실시간으로 협업할 수 있는 공간과 이를 뒷받침하는 컴퓨팅 파워, 그리고 현실감을 표현할 수 있는 직..
[LLM] Llama 2 모델 Fine-Tuning: 데이터와 모델 생성 및 챗봇 연결
💡Llama 2 란?Llama 2는 Meta AI에서 개발한 언어 모델로, GPT-3보다 더 작은 파라미터를 가지고 있고 학습 비용이 들지 않으면서도 높은 성능을 보이기 때문에 주목을 받고 있다. Llama와 ChatGPT의 차이점 LlamaChatGPT모델 용도연구자들을 대상으로 설계되었고, 학술적 연구나 실험에 활용할 수 있다. 또한, 오픈소스로 공개되어 있어 다른 연구자들이 동일한 작업을 재현하고 비교할 수 있다.주로 범용적인 사용을 목표로 하며, 대화를 위해 특별히 설계되었다. 따라서, 일반 사용자나 엔터프라이즈 솔루션에 더 적합하다.학습 데이터주로 Wikipedia, Common Crawl, C4와 같은 공개된 데이터 세트를 사용하여 학습된다. 이는 일반적인 텍스트 데이터에 기반한 모델로, 다..
[React] 불변성이란 무엇이고 왜 지켜야 할까?
💡불변성이란?사전적 의미에서 불변성(Immutability)은 값이나 상태를 변경할 수 없음을 의미한다. 그리고 프로그래밍에서의 불변성은 메모리 영역에서 값이 변하지 않도록 하는 것을 의미한다."불변성을 지킨다"라는 말은 기존의 값을 직접 수정하지 않으면서 새로운 값을 만들어 내는 것을 말한다. 왜 React에서 불변성을 유지해야 할까?React는 상태(State)를 업데이트할 때, 이전 상태와 새로운 상태를 비교하여 렌더링을 결정한다. 이를 위해 React는 얕은 비교(Shallow Comparison)를 수행하는데, 이는 객체나 배열의 참조 주소만 비교한다는 의미이다. 만약 상태를 업데이트할 때 불변성을 유지하지 않으면, 이전 상태와 새로운 상태가 동일한 참조를 가리키게 되어 React가 상태 변화..
[LLM] AI 모델 최적화 방법 Fine-Tuning과 Prompt-Tuning
언어 모델(LM)은 텍스트 데이터를 이해하고 생성하는 인공지능(AI) 모델이다. 최근에는 대규모 언어 모델(LLM)이 뜨거운 주제 중 하나로, 원하는 태스크에 맞춰 튜닝하는 방식으로 발전하고 있다.Fine-Tuning과 Prompt-Tuning은 인공지능(AI) 출력을 최적화하는 데 사용되는 기술이다. 먼저 요약으로 각 기술에 대한 설명을 한눈에 확인해 보도록 하자. 🔎한눈에 보기LLM(대규모 언어 모델)은 많은 양의 텍스트 데이터를 사용하여 학습된 인공지능 모델을 의미한다. 이 모델들은 자연어 이해 및 생성 작업에 탁월한 성능을 보이며, 예측, 번역, 요약 등 다양한 자연어 처리 작업에 사용된다.Fine-Tuning은 미리 학습된 모델을 특정 작업이나 데이터셋에 맞게 재학습시키는 과정을 의미한다. 이..
[React] Spring Boot와 React를 연동하여 개발 환경 설정 및 Open API 조회
Back-End는 Spring으로, Front-End는 React 환경으로 개발 환경을 만들어 보도록 하자.한 프로젝트 내에서 Spring으로 백엔드를 구축하고 React로 프론트엔드를 개발하는 방식은 백엔드와 프론트엔드를 동시에 관리하고 통합하는 편리한 방법이다. 이와 같은 구조를 사용하면 하나의 코드베이스에서 모든 업무를 처리할 수 있으며, 백엔드와 프론트엔드를 동시에 빌드할 수 있어 개발과 배포를 간편하게 관리할 수 있다.하지만 이러한 구조에도 단점은 존재한다.🤔 React는 정적인 앱으로, 백엔드가 종료되어도 프론트엔드는 여전히 작동할 수 있다. 그러나 이러한 구조에서는 백엔드가 종료되면 프론트엔드도 동시에 종료되므로 전체 시스템의 안정성에 대한 리스크가 있다. 또한, 두 애플리케이션의 빌드가 ..
[JavaScript] Promise: 비동기 작업 처리 객체
💡Promise란? Promise(프로미스)는 자바스크립트에서 비동기 작업을 처리하는 객체이다. 주로 서버에서 데이터를 요청하거나 파일을 읽는 등의 비동기 작업을 수행할 때 사용된다. Promise는 성공 또는 실패와 같은 비동기 작업의 결과를 나타내는 데 사용되며, 자바스크립트에서 비동기 처리가 가장 많이 일어나는 XMLHTTPRequest 처리에서 유용하게 사용된다. XMLHTTPRequest XMLHttpRequest는 웹 브라우저에서 제공하는 자바스크립트 객체로, 서버와 비동기적으로 데이터를 교환할 수 있는 기능을 제공한다. 이 객체를 사용하면 웹 페이지를 새로 고치지 않고도 서버로부터 데이터를 가져와서 웹 페이지의 일부분을 업데이트할 수 있다. XMLHttpRequest 객체를 사용하여 서버로 ..
[Spring Boot] 스타필드 도서관 웹 애플리케이션: 프로젝트 구조 및 전체 코드
스타필드 도서관 웹 애플리케이션의 프로젝트 구조와 전체 코드이다.코드뿐만 아니라 구현 과정 및 구현에 사용된 기술에 대한 설명을 덧붙였다. 2024.03.06 - [Programming/Spring] - [Spring Boot] 스타필드 도서관 웹 애플리케이션 개발과 배포: Spring Boot에서 MyBatis와 JPA 동시 사용하기 [Spring Boot] 스타필드 도서관 웹 애플리케이션 개발과 배포: Spring Boot에서 MyBatis와 JPA 동시 사용하MyBatis와 JPA를 동시 사용해서 수원 스타필드 별마당 도서관 도서 관리 시스템 CRUD(Create, Read, Update, Delete)를 구현해 보도록 하자. 이렇게 만든 웹 애플리케이션의 배포까지 진행하면서 Spring MVC P..
[Spring Boot] 스타필드 도서관 웹 애플리케이션 개발과 배포: Spring Boot에서 MyBatis와 JPA 동시 사용하기
MyBatis와 JPA를 동시 사용해서 수원 스타필드 별마당 도서관 도서 관리 시스템 CRUD(Create, Read, Update, Delete)를 구현해 보도록 하자. 이렇게 만든 웹 애플리케이션의 배포까지 진행하면서 Spring MVC Pattern을 학습하는 것을 목표로 한다.이 연습 프로젝트는 실제 스타필드 도서관 웹 애플리케이션은 아니지만, JPA를 활용하여 데이터베이스에서 책과 저자에 대한 CRUD 기능을 구현하였다. 💡JPAJPA(Java Persistence API)는 자바의 ORM(Object-Relational Mapping) 기술을 쉽게 구현하도록 도와주는 API이다. ORM은 객체와 관계형 데이터베이스 간의 매핑을 단순화하여 개발자가 객체 지향 프로그래밍 언어로 데이터베이스를 다..