전체 글 244

[Google MLB] Gemma sprint 후기

이번에 구글 머신러닝 부트 캠프를 진행하면서 Gemma2를 파인튜닝하는 프로젝트를 진행했다. 아이디어 선정 아이디어를 선정할 때 처음에는 크게 떠오르는 것들이 없었는데 다른 분들 하신 것을 보다보니 옛날에 해보고 싶었던 것들이나 재미있는 것들이 떠올랐지만 주제가 겹치거나 너무 간단한 것들이 떠올라서 팀원분과 의논을 했다. 그러다 마침 팀원분이 특허 관련해서 공부하신 분이라 특허와 LLM을 합쳐 특허 명세서 작성을 도와주는 모델을 만들면 좋겠다는 생각이 들었다. 나도 예전에 특허 명세서를 작성하면서 어려움을 겪은 적이 있어서 조금 더 마음이 갔다. 데이터 셋 특허 명세서를 작성하기 위해선 특허 명세서에 대한 데이터 셋이 필요했다. 해당 데이터 셋은 AI-Hub에서 가져오기로 했다. 특허 명세서를 작성하는데..

인공지능 2024.10.03

[내가 지은 시] 새싹

고용한 숲속높이 뻗은 나무들이아침을 맞이한다 새싹들이 각자지난 밤의 꿈을 들고땅속에서왁자지껄피어난다 고용한 숲속에울리는시끄러운희망의 소리 나무들은 말한다.미친놈들인가나는 눈물이 났다 출근하는 길에 아이들이 소풍가는지 조금은 시끄럽게 이야기하며 가는 걸 보았다. 친구를 만나 반가운 마음에 소리도 질렀다. 그걸 보고 한 직장인이 미친놈인가?라고 하는 걸 들었다. 조금 슬펐다. 자유롭게 놀 나이인데 공원에서 시끄럽다고 미친놈이라니... 동시에 그렇게 해맑게 놀던 때가 이젠 과거에 머물러 있으니 그때가 그리워 눈물이 나기도 했다.

나의 일기 2024.06.02

위상 정렬(Topological sorting)

위상 정렬이란?(What is Topological Sorting?) 위상 정렬의 뜻을 검색해보면 "DAG에 대한 위상 정렬은 정점 u에서 정점 v로 가는 방향이 있는 간선이 있을 때 모든 정점 u가 모든 정점 v 앞에 오도록 정점을 정렬하는 선형 정렬"이라고 나온다. 이 말이 쉽게 와닿지 않을 수 있다. 하지만 게임의 테크트리를 생각하면 어떤 말인지 쉽게 알 수 있다.  우리가 게임을 하다보면 어떤 기술을 열거나 건물을 건설할 때 요구 조건이 있는 것을 한번쯤은 봤을 것이다. 그리고 요구 조건을 충족할 때만 기술을 열거나 건물을 건설할 수 있다. 이때 각 건물과 기술들이 정점이 되는 것이고 요구 조건과 관련된 건물과 기술의 관계가 간선이라고 생각하면 된다.  그런데 위상 정렬 앞에 DAG란 조건이 붙어..

알고리즘 2024.05.05

[JAVA] assert 키워드

Assert 키워드란? 우리는 간단한 프로그램을 만들 때도 다양한 버그와 에러를 보게 된다. 예를 들어 입자 가속기 안에 있는 입자들의 속도를 구하는 프로그램을 만들었다고 해보자. 이 프로그램을 통해 입자의 속도를 측정했을 때 30만 km/s가 나온다면 이건 올바른 결과일까? 컴퓨터 내부에서는 계산을 통해 나올 수 있는 값이지만 논리적으로는 어떤 물체든 빛의 속도인 30만 km/s를 넘을 수 없다. 이와 같은 프로그램의 논리적 오류를 잡아내기 위해 사용하는 키워드가 바로 Assert 키워드이다. Assert 키워드는 JDK 1.4버전에서 처음으로 등장했다. 이 키워드는 내가 참이라고 생각하는 결과가 정말 참인지를 검증할 때 사용할 수 있다. 만약 참이면 문제가 없지만 거짓일 경우 AssertionErro..

Java 2024.04.28

이분 검색(binary search)

이분 검색이란?(What is binary search?) 이전 포스팅에서 작성한 순차 검색은 최대 n이라는 시간이 걸리는 검색 방법이다. 그렇기에 n이 100만, 1000만이 되면 검색하는데 상당히 많은 시간이 소요된다. 이를 해결하기 위한 알고리즘이 바로 이분 검색이다. 이분 검색은 대표적인 분할 정복 알고리즘이다. 이러한 분할 정복 알고리즘은 반복문으로 고쳐주면 더 빠른 성능을 낼 수 있다. 이분 검색의 작동 방식은 다음과 같다. 배열의 중간 요소와 찾고자하는 값을 비교한다. 이때 찾고자하는 값이 배열의 중간 요소이면 값을 리턴하고 종료한다. 배열을 반으로 나눈다. 중간 요소를 기준으로 찾는 값이 작으면 왼쪽 배열을, 크면 오른쪽 배열을 탐색한다. 1~3을 반복한다. 이분 검색 알고리즘(Binary..

알고리즘 2024.04.21

[백준] 포도주 시식

문제는 다음 링크를 통해 볼 수 있다. 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 문제 풀이 이번 문제는 DP 문제이다. 문제에서 주어진 조건은 다음과 같다. 포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고, 마신 후에는 원래 위치에 다시 놓아야 한다. 연속으로 놓여 있는 3잔을 모두 마실 수는 없다. 이번 문제에서 중요한 조건은 바로 2번 조건이다. 연속으로 3잔을 마실 수 없기 때문에 이 부분을 고려해야 한다. 먼저 와인이 1잔이 있을 때를 생각해보자. 와인이 1잔만 있다면 한잔을 마..

백준 2024.04.10