목상치
728x90

'전체 글'에 해당되는 글 120건

  1. 2023.08.23 chatGPT에게 chatGPT를 묻다 너는 누구니~ 그리고 구글 거니?
  2. 2023.08.23 oracle 쿼리시 declare 사용해보기
  3. 2023.08.23 chatGPT가 알려주는 오라클 declare 사용법
목하치
반응형
728x90

chatGPT에게 chatGPT를 물어보았어요 

GPT는 "Generative Pre-trained Transformer"를 의미합니다. 자세히 이해하기 위해 약어의 각 부분을 분석해 보겠습니다.

Generative생성: "생성"은 텍스트, 이미지 또는 기타 유형의 데이터와 같은 콘텐츠를 생성하는 모델의 기능을 나타냅니다. GPT의 경우, 이 모델은 특히 텍스트 생성 기능으로 유명합니다. 수신된 입력을 기반으로 일관되고 문맥상 관련 있는 텍스트를 생성할 수 있습니다.


Pre-trained사전 학습됨: "사전 학습됨"은 모델이 특정 작업에 맞게 미세 조정되기 전에 대규모 데이터 세트에서 학습되었음을 의미합니다. GPT의 경우 모델은 인터넷의 방대한 양의 텍스트 데이터를 기반으로 사전 학습되었습니다. 이 초기 훈련은 모델이 데이터에 존재하는 문법, 어휘, 맥락 및 기타 언어 패턴을 학습하는 데 도움이 됩니다.


Transformer: "Transformer"는 Vaswani 외의 "Attention Is All You Need" 논문에 소개된 딥 러닝 아키텍처입니다. 2017년에는 "self-attention"이라는 메커니즘을 사용하여 문장이나 단락과 같은 데이터 시퀀스를 처리하는 효과적인 방법을 제공함으로써 자연어 처리(NLP) 분야에 혁명을 일으켰습니다. 이 self-attention 메커니즘을 통해 모델은 문장 내 서로 다른 단어의 중요성을 서로의 관계를 기반으로 평가하여 장거리 종속성과 문맥 정보를 캡처할 수 있습니다.


이 모든 것을 종합하면 GPT는 Transformer 아키텍처를 사용하는 일종의 인공 지능 모델입니다. 언어 패턴과 관계를 학습하기 위해 대규모 텍스트 데이터 모음에 대해 사전 학습되었습니다. 이 사전 학습을 통해 GPT는 작업별 학습 데이터 없이도 텍스트 완성, 텍스트 생성, 번역, 질문 답변 등과 같은 다양한 자연어 처리 작업을 수행할 수 있습니다. 대신, 모델은 특정 작업에 대해 학습된 표현을 미세 조정하여 광범위한 NLP 애플리케이션을 위한 다재다능하고 강력한 도구가 됩니다.

GPT에는 여러 버전이 있었으며 2021년 9월 마지막 지식 업데이트를 기준으로 GPT-3이 가장 발전되고 잘 알려진 버전 중 하나라는 점을 기억하는 것이 중요합니다.

GPT stands for "Generative Pre-trained Transformer." Let's break down each part of the abbreviation to understand it in detail:
Generative: "Generative" refers to the model's ability to generate content, such as text, images, or other types of data. In the case of GPT, the model is particularly known for its text generation capabilities. It can produce coherent and contextually relevant text based on the input it receives.Pre-trained: "Pre-trained" means that the model has been trained on a large dataset before being fine-tuned for specific tasks. In the case of GPT, the model is pre-trained on a massive amount of text data from the internet. This initial training helps the model learn grammar, vocabulary, context, and other linguistic patterns present in the data.Transformer: The "Transformer" is a deep learning architecture introduced in the paper "Attention Is All You Need" by Vaswani et al. in 2017. It revolutionized the field of natural language processing (NLP) by providing an effective way to process sequences of data, like sentences or paragraphs, using a mechanism called "self-attention." This self-attention mechanism allows the model to weigh the importance of different words in a sentence based on their relationships with each other, capturing long-range dependencies and contextual information.
Bringing it all together, GPT is a type of artificial intelligence model that uses the Transformer architecture. It's pre-trained on a large corpus of text data to learn language patterns and relationships. This pre-training enables GPT to perform various natural language processing tasks, such as text completion, text generation, translation, question answering, and more, without needing task-specific training data. Instead, the model fine-tunes its learned representations on specific tasks, making it a versatile and powerful tool for a wide range of NLP applications.
It's important to note that there have been multiple versions of GPT, with GPT-3 being one of the most advanced and well-known iterations as of my last knowledge update in September 2021.

 

같은 질문을 빙AI에게 물어보았습니다. 

GPT는 **Generative Pre-trained Transformer**의 약자로, 생성적 인공지능을 위한 대표적인 프레임워크입니다. GPT는 2018년에 OpenAI에서 처음 소개되었으며, 대량의 텍스트 데이터로 사전 학습된 언어 모델을 사용하여 다양한 자연어 처리 작업에 적용할 수 있습니다¹.

GPT는 트랜스포머라는 신경망 구조를 기반으로 하며, 텍스트를 단어나 문자가 아닌 토큰(token)이라는 작은 단위로 나누어 처리합니다. GPT는 텍스트의 문맥(context)을 파악하기 위해 어텐션(attention)이라는 메커니즘을 사용하며, 텍스트의 순서를 인식하기 위해 포지셔널 인코딩(positional encoding)이라는 기법을 사용합니다².

GPT는 생성적 인공지능의 한 종류로, 주어진 입력에 대해 적절한 출력을 생성할 수 있습니다. 예를 들어, GPT는 질문에 대한 답변, 문장에 대한 요약, 코드에 대한 설명, 이미지에 대한 캡션 등을 생성할 수 있습니다. GPT는 사전 학습된 언어 모델을 다양한 목적에 맞게 미세 조정(fine-tuning)하여 성능을 향상시킬 수 있습니다³.

GPT는 현재까지 여러 버전이 출시되었으며, 각 버전마다 모델의 크기와 성능이 증가하고 있습니다. GPT-1은 2018년에 발표되었으며, 1억 1천만 개의 파라미터(parameter)를 가진 모델로, 12개의 자연어 처리 작업에서 우수한 성능을 보였습니다⁴. GPT-2는 2019년에 발표되었으며, 15억 개의 파라미터를 가진 모델로, 다양한 주제와 스타일의 텍스트를 생성할 수 있었습니다⁵. GPT-3는 2020년에 발표되었으며, 1천 750억 개의 파라미터를 가진 모델로, 미세 조정 없이도 다양한 자연어 처리 작업에서 최고 수준의 성능을 달성했습니다. GPT-3.5는 2022년 초에 완성되었으며, 7천 500억 개의 파라미터를 가진 모델로, 아직 공식적으로 발표되지 않았습니다. ChatGPT는 GPT-3.5를 기반으로 하여 대화형 방식으로 상호작용하는 모델로, OpenAI에서 2023년에 소개하였습니다.

GPT는 인공지능 분야에서 많은 관심과 활용을 받고 있지만, 한계점과 문제점도 존재합니다. GPT는 때때로 잘못된 또는 무의미한 답변을 생성하기도 하며, 입력의 표현이나 순서에 따라 다른 결과를 내기도 합니다. 또한 GPT는 편향(bias)이나 오류(error)가 포함된 데이터로 학습되기 때문에, 윤리적이거나 정확하지 않은 내용을 생성할 수도 있습니다 .

GPT에 대해 자세히 설명해 드렸습니다. 만약 궁금하신 점이나 추가적인 도움이 필요하시면 알려주세요. 감사합니다. 😊

Source: Conversation with Bing, 2023. 8. 23.
(1) Introducing ChatGPT - OpenAI. https://openai.com/blog/chatgpt.
(2) ChatGPT - OpenAI. https://openai.com/chatgpt.
(3) What is GPT? - Computer Hope. https://www.computerhope.com/jargon/g/gpt.htm.
(4) GUID Partition Table - Wikipedia. https://en.wikipedia.org/wiki/GUID_Partition_Table.
(5) Generative pre-trained transformer - Wikipedia. https://en.wikipedia.org/wiki/Generative_pre-trained_transformer.

좀 뭔가 차이점을 만들려고 하는 것 같아요. 

여기에 도발적인 질문 하나 했어요. 

chatGPT의 Transformer는 구글 저작권이 있는 것일까요? 



아니요, ChatGPT의 Transformer 아키텍처는 Google에 저작권이 없습니다. Transformer 아키텍처는 2017년 Google 연구진이 발표한 논문 "Attention Is All You Need"에서 소개되었습니다. 원래 개념과 아키텍처는 Google 연구원이 개발했지만 아키텍처 자체는 저작권이나 소유권이 없습니다. 자연어 처리(NLP) 분야에서 널리 사용되고 영향력 있는 프레임워크이며, 그 원칙은 Google 외에도 다양한 조직과 연구자에 의해 채택되고 구현되었습니다.

ChatGPT의 기반이 되는 GPT-3 모델은 독립적인 인공지능 연구 기관인 OpenAI에서 개발했습니다. GPT-3는 Transformer 아키텍처를 활용하지만 추가적인 혁신과 확장을 통해 원래 프레임워크를 기반으로 구축되었습니다. OpenAI는 연구 및 개발 목적으로 GPT-3의 아키텍처와 매개변수를 출시했지만 ChatGPT에서 사용되는 것과 같은 특정 구현 및 미세 조정에는 지적 재산권 보호 또는 이와 관련된 사용 약관이 적용될 수 있습니다.

적용될 수 있는 라이센스 또는 사용 제한의 범위를 이해하려면 해당 모델에 대해 OpenAI에서 제공하는 특정 이용 약관을 참조하는 것이 중요합니다.
No, ChatGPT's Transformer architecture is not copyrighted by Google. The Transformer architecture was introduced in the paper "Attention Is All You Need," published by researchers at Google in 2017. While the original concept and architecture were developed by Google researchers, the architecture itself is not copyrighted or proprietary. It's a widely used and influential framework in the field of natural language processing (NLP), and its principles have been adopted and implemented by various organizations and researchers beyond Google.

The GPT-3 model, which is the basis for ChatGPT, was developed by OpenAI, an independent artificial intelligence research organization. While GPT-3 utilizes the Transformer architecture, it builds upon the original framework with additional innovations and scaling. OpenAI has released GPT-3's architecture and parameters for research and development purposes, but specific implementations and fine-tuning, like the one used in ChatGPT, might have intellectual property protection or terms of use associated with them.

It's important to consult the specific terms and conditions provided by OpenAI for their models to understand the extent of any licensing or usage restrictions that may apply.
ChatGPT의 Transformer는 구글 저작권이 있는 것이 아닙니다. Transformer는 2017년에 구글 연구자들이 발표한 논문1에서 처음 제안된 딥러닝 모델로, 자연어 처리 분야에서 주로 사용됩니다. Transformer는 공개적으로 접근할 수 있는 오픈 소스 프로젝트로, 구글 외에도 다른 기업이나 연구기관에서도 활용하고 있습니다.
ChatGPT는 OpenAI에서 2023년에 소개한 대화형 인공지능 모델로, GPT-3.5를 기반으로 하여 대화의 흐름과 의미를 파악하고 적절한 응답을 생성할 수 있습니다2. ChatGPT는 GPT-3.5를 미세 조정(fine-tuning)하여 만든 모델로, GPT-3.5 역시 Transformer를 기반으로 하고 있습니다. 따라서 ChatGPT의 Transformer는 구글의 저작권을 침해하는 것이 아니라, 공개된 기술을 활용한 것입니다.
Transformer에 대해 자세히 설명해 드렸습니다. 만약 궁금하신 점이나 추가적인 도움이 필요하시면 알려주세요. 감사합니다. 😊
 

 

 

ㅇㄹ




728x90
Posted by 댕기사랑
,
728x90

MS SQL에서 여러 테이블을 여러번 조회할 때 조회 조건을 변수로 선언하면 변수 값만 바꾸면 쉽게 조회 할 수 있는데 이때 declare를 사용한다. 

declare @c_id1 varcha(20)
set @c_id='id34'
select * from table where id =@c_id

그런데 오라클을 어떻게 되는 지 궁금해서 찾아보아 변경해보았다. 

DECLARE
    c_id1 VARCHAR2(20);
BEGIN
     c_id1 := 'id34';
     SELECT * FROM table_name WHERE id = c_id1;
END; /

그런데 서브 쿼리에 넣어서 해보니 안되고 구글 검색도 잘 안되어서 

그래서 chatGPT에 물어보았다

https://thepin.tistory.com/106

 

chatGPT가 알려주는 오라클 declare 사용법

앞서 글에서 서브쿼리가 포함된 반복 쿼리에 대해 chatGPT에 도움 받아 데이터 쿼리후 삭제하는 것을 만들어 보았습니다. Please convert one more time. declare @c_id1 varchar(20), @c_site1 varchar(20) set @c_id='id34' s

thepin.tistory.com

 

728x90

'데이터엔지니어 > SQL' 카테고리의 다른 글

근속년수 구하기-ms sql  (0) 2021.07.16
SQL쿼리-07조인  (0) 2020.02.17
SQL 쿼리05-집계  (0) 2020.02.16
SQL 쿼리04-데이터 조작  (0) 2020.02.15
SQL 쿼리03-정렬  (0) 2020.02.15
Posted by 댕기사랑
,
728x90

앞서 글에서 서브쿼리가 포함된 반복 쿼리에 대해 chatGPT에 도움 받아 데이터 쿼리후 삭제하는 것을 만들어 보았습니다. 

Please convert one more time. 
declare @c_id1 varchar(20), @c_site1 varchar(20)
set @c_id='id34'
set @c_site1 = 'AU'
select * from table where id =@c_id and site_id = @c_site1

그래서 나온 결과가 ..

DECLARE
       c_id1 VARCHAR2(20);
       c_site1 VARCHAR2(20);
BEGIN
       c_id1 := 'id34';
       c_site1 := 'AU';

       SELECT * FROM table_name WHERE id = c_id1 AND site_id = c_site1;
END

일단 이해는 되어 복잡하게 변형하여 봅니다.  서브 쿼리한 결과를 변수로 받는 것이죠.

DECLARE
     CUST_NO1 VARCHAR2(20);
     SITE_CD1 vARCHAR2(20);
     AY_SEQ1 VARCHAR2(20);
     D_ST_SEQ1 VARCHAR2(20);

BEGIN
    CUST_NO1 := 'cook';
    SITE_CD1 := 'A';
    AY_SEQ1 := (SELECT AY_SEQ FROM ML.AY_DETAIL
     WHERE CUST_NO = CUST_NO1 AND SITE_CD = SITE_CD1 );

다듬어 달라고 하니 예외처리 문을 넣어주네요

DECLARE
     CUST_NO1 VARCHAR2(20);
     SITE_CD1 VARCHAR2(20);
     AY_SEQ1 VARCHAR2(20);
     D_ST_SEQ1 VARCHAR2(20);

BEGIN
     CUST_NO1 := 'cook';
     SITE_CD1 := 'A';
     SELECT AY_SEQ, D_ST_SEQ
     INTO AY_SEQ1, D_ST_SEQ1
     FROM ML.AY_DETAIL
     WHERE CUST_NO = CUST_NO1 AND SITE_CD = SITE_CD1;

-- Now you can use AY_SEQ1 and D_ST_SEQ1 for further processing if needed -- ...
      DBMS_OUTPUT.PUT_LINE('AY_SEQ1: ' || AY_SEQ1);
      DBMS_OUTPUT.PUT_LINE('D_ST_SEQ1: ' || D_ST_SEQ1);

EXCEPTION
     WHEN NO_DATA_FOUND THEN
         DBMS_OUTPUT.PUT_LINE('No data found for the given criteria.');
     WHEN OTHERS THEN
         DBMS_OUTPUT.PUT_LINE('An error occurred.');
END; /

결론적으로 into를 넣어주는 게 mssql과 큰 차이점인 것 같다. 

 

보통 mssql에서는 스토어프로시져는 만들어 간편하게 사용하는데 오라클도 가능한지 물었더니

CREATE OR REPLACE PROCEDURE DeleteAndDisplayValue
      ( p_input_value1 IN VARCHAR2,
        p_input_value2 IN VARCHAR2
)  IS
      v_sequence_value NUMBER;
      v_table2_value NUMBER;
BEGIN

-- Find specific sequence value in Table 1

      SELECT sequence_column INTO v_sequence_value
      FROM table1
      WHERE some_column = p_input_value1;

-- Find value in Table 2 based on input value

      SELECT table2_column INTO v_table2_value
      FROM table2
      WHERE another_column = p_input_value2;

-- Delete value from Table 

      DELETE FROM table2
       WHERE another_column = p_input_value2;

-- Display the results
      DBMS_OUTPUT.PUT_LINE( 'Sequence Value: ' || v_sequence_value);
      DBMS_OUTPUT.PUT_LINE( 'Table 2 Value: ' || v_table2_value);

     COMMIT; -- Commit the changes
EXCEPTION
      WHEN NO_DATA_FOUND THEN
                  DBMS_OUTPUT.PUT_LINE( 'No data found.');
      WHEN OTHERS THEN
            DBMS_OUTPUT.PUT_LINE( 'An error occurred.');
            ROLLBACK; -- Rollback changes in case of error

END DeleteAndDisplayValue;

나왔는데 ... 권한이 없어서 그런지 생성이 안된다. 그리고 작성된 스토어 프로시져는 아래처럼 실행하면 된다고 한다.

BEGIN
      DeleteAndDisplayValue('input_value1','input_value2');
END;

 

 

 

아직은 오라클이 mssql만큼 쉽지 않다. 확 와닫지 않는다. 

 

 

 

오라클 강의를 들어야 하나? 의문이다.

 

 

728x90
Posted by 댕기사랑
,