Forum

다양한 주제에 대해 논의하거나 지식을 공유합니다.

    총 766

    BlessingDev

    follower0

    팔로우
    프로필 보기

    BlessingDev

    2024.04.23 00:25

    0
    0
    8
    Dataset for Rewriting Prompt
    Since This competition doesn't provide any avilable dataset, participants should generate them to finetune the model.Fortunately, few foregoers generated and shared some. Here is the list. LLM Prompt Recovery - Synthetic Datastore Link: LLM Prompt Recovery - Synthetic Datastore (kaggle.com) A dataset generated by Gemma 7B-it. Inspired by thedrcat's dataset - LLM Prompt Recovery Data3000 Rewritten texts - Prompt recovery Challenge Link: 3000 Rewritten texts - Prompt recovery Challenge (kaggle.com) Prompts created by ChatGPT-4. Text rewritten by gemma-7B-it.gemma-rewrite-nbroad Link: gemma-rewrite-nbroad (kaggle.com) Prompt generated by ChatGPT. Essay generated by gemma-7B-it.

    augi_kky

    follower0

    팔로우
    프로필 보기

    augi_kky

    2024.04.23 00:23

    0
    0
    5
    What is mean prompting?
    Mean PromptingMean prompting is a technique used in natural language processing (NLP) and machine learning, particularly in the context of language generation models. It involves providing a model with a prompt or input that represents the desired output's mean or average characteristics.Here's how mean prompting typically works:Definition:Mean prompting involves constructing a prompt that encapsulates the average or typical features of the desired output. This prompt serves as guidance for the model to generate outputs that align with the specified characteristics.Application:Mean prompting is commonly used in text generation tasks, such as generating product descriptions, summaries, or responses in conversational AI systems.For instance, in a summarization task, the mean prompt might include key points or representative phrases extracted from the input text, guiding the model to produce a concise summary that captures the essence of the original content.Implementation:Implementing mean prompting involves designing prompts that strike a balance between specificity and generality. The prompt should provide enough information to guide the model while allowing flexibility for diverse outputs.Techniques such as keyword extraction, sentence compression, or clustering can be employed to distill the input information into a representative prompt.Additionally, fine-tuning or adjusting model parameters may be necessary to ensure that the generated outputs align with the intended characteristics.Benefits:Mean prompting can improve the coherence, relevance, and consistency of generated outputs by providing the model with clear guidance.It can help mitigate issues such as output drift or divergence commonly observed in open-ended language generation tasks.By focusing the model's attention on specific features or attributes, mean prompting can enhance the overall quality of generated content.Challenges:Designing effective mean prompts requires domain knowledge and understanding of the desired output characteristics.Balancing specificity and generality in the prompt design can be challenging, as overly specific prompts may restrict creativity, while overly general prompts may result in vague or irrelevant outputs.Evaluating the effectiveness of mean prompting techniques often involves subjective judgments and may require human annotation or feedback.In summary, mean prompting is a valuable technique in language generation tasks, enabling models to produce outputs that exhibit desired average characteristics. By providing clear guidance to the model, mean prompting enhances the quality and relevance of generated content across various NLP applications.    

    augi_kky

    follower0

    팔로우
    프로필 보기

    augi_kky

    2024.04.23 00:21

    0
    0
    4
    fine-tuning? RAG?
    Fine-tuning:Fine-tuning involves adapting a pre-trained model to a specific task by retraining it on additional data related to that task, utilizing the existing pre-trained weights.It is typically employed when there is a small dataset available and improved performance is sought.Fine-tuning often involves adjusting hyperparameters such as learning rates and optimization algorithms during the fine-tuning phase.Randomly-initialized Adaptive Gradient (RAG):RAG, developed by OpenAI, is a method particularly suited for generative models like conversational systems. It initializes a new model randomly and adapts it to the task at hand.Instead of utilizing pre-trained weights, RAG updates shared parameters to tailor the model to the specific task.RAG is particularly effective when employed with large datasets, though it demands substantial computational resources, and its efficacy might be limited with smaller datasets.The choice between these methods depends on various factors such as dataset size, task complexity, availability of computational resources, and time constraints. While fine-tuning may be effective with small datasets and limited resources, randomly-initialized approaches like RAG can yield better results when ample computational resources and large datasets are available.

    발가락

    follower0

    팔로우
    프로필 보기

    발가락

    2024.04.23 00:18

    0
    0
    4
    Context learning vs fine-tuning.
    In-Context Learning vs. Fine-tuning:In-Context Learning (Prompt Learning): Utilizes context within prompts to guide model responses without updating the model itself. This method leverages examples within the prompt to shape output, enhancing flexibility and applicability across various tasks without the need for specific data tuning.Fine-tuning: Involves updating the model with a specific dataset to produce desired outputs, making it effective for specialized tasks but less flexible for changing contexts. Requires substantial time and resources for data collection and labeling, optimizing the model for particular tasks at the expense of general applicability.

    발가락

    follower0

    팔로우
    프로필 보기

    발가락

    2024.04.23 00:17

    0
    0
    2
    The limitation of large language models (LLM)
    LLMs such as GPT analyze extensive text data to predict and generate text based on statistical patterns. Despite their vast knowledge base, they struggle with contextually appropriate information retrieval. For example, given an anachronistic prompt like "King Sejong using a MacBook," LLMs might generate a historically inaccurate response due to their reliance on statistical probabilities. This phenomenon, known as hallucination, highlights a fundamental issue with GPT-based LLMs, with ongoing mitigation efforts involving fine-tuning and in-context learning.     

    kiiae

    follower0

    팔로우
    프로필 보기

    kiiae

    2024.04.22 18:49

    0
    0
    2
    Technique for Enhanced Language Model Performance
    While large-language models exhibit impressive zero-shot capabilities, they often struggle with more complex tasks without additional guidance. Few-shot prompting emerges as a solution, enabling in-context learning by providing demonstrations or exemplars in the prompt to steer the model towards better performance. This article explores the concept of few-shot prompting, its effectiveness, and limitations through practical examples and insights from recent research.Few-shot prompting leverages demonstrations or exemplars within prompts to guide language models towards desired responses. Touvron et al. (2023) first observed few-shot properties in models scaled to sufficient sizes, as highlighted by Kaplan et al. (2020). Tips from Min et al. (2022) emphasize the importance of both label space and input text distribution in demonstrations, along with the format used in prompts.Demonstrations in prompts can significantly influence model performance, even when labels are randomly assigned. Despite randomized labels, models can still produce accurate responses, indicating the effectiveness of few-shot prompting techniques. However, for more complex tasks, such as reasoning problems, standard few-shot prompting may fall short in providing reliable responses.Standard few-shot prompting may not suffice for tasks requiring complex reasoning. Adding more examples to prompts may not always improve model performance for intricate tasks. Chain-of-thought (CoT) prompting has gained popularity for addressing complex reasoning tasks by breaking problems down into sequential steps.Few-shot prompting serves as a valuable technique for enhancing language model performance, particularly for tasks where additional context or guidance is beneficial. However, its effectiveness varies depending on the complexity of the task and the adequacy of the provided demonstrations. Understanding the limitations of few-shot prompting can inform the exploration of more advanced prompting techniques, such as chain-of-thought prompting, to tackle increasingly complex tasks.

    kiiae

    follower0

    팔로우
    프로필 보기

    kiiae

    2024.04.22 18:37

    0
    0
    7
    Enhancing Language Models with RAG
    Retrieval Augmented Generation (RAG) is a revolutionary approach that enhances the capabilities of language models (LLMs) by integrating them with external data sources. By leveraging vector databases, RAG enables LLMs to generate contextually rich responses, addressing limitations related to real-time information access and response accuracy.RAG operates through a streamlined four-step process:Loading a vector database with encoded documents.Encoding queries into vectors using sentence transformers.Retrieving relevant context from the vector database based on the query.Prompting the LLM with context and query to generate informed responses.Building a RAG involves:Creating a vector database using tools like FAISS.Integrating LLMs into the RAG framework.Designing prompt templates to structure input for the LLM.Constructing chains to facilitate data flow between the vector database, retriever, and LLM.RAG empowers LLMs to deliver more accurate and contextually relevant responses by incorporating external data sources. By harnessing the capabilities of RAG, LLMs become versatile tools for a wide range of applications, from providing personalized assistance to facilitating natural language interactions.

    whalee

    follower0

    팔로우
    프로필 보기

    whalee

    2024.04.21 02:35

    0
    0
    18
    What kind of loss function do we have to use?
    손실함수는 신경망 모델이 각 훈련 배치에서 전체 오류를 계산하는 방법을 정의합니다. 따라서 역전파를 수행할 때 내부 가중치가 조정되는 과정에 영향을 미치므로 전체 모델 성능에도 중요한 영향을 미칩니다. 이미지 분할 및 분류 작업에 대한 기본적인 손실 함수는 BCE ( 이진 교차 엔트로피 ) 입니다. Dice 계수 혹은 IoU 손실 함수가 사용되는 상황에서도 기본적인 베이스라인으로 BCE를 사용합니다. 손실 함수는 역전파가 거슬러 올라가는 동안 모델 전체에서 계산되어야 하는 텐서에서 작동해야 하므로 Numpy로 간단하게 계산될 수 없습니다. 해당 모델 라이브러리에서 제공하는 함수를 사용해야 합니다. Keras에서는 k.sum()과 같은 함수를 사용합니다. 그라디언트 계산은 모델 라이브러리에 의해 자동으로 계산되지만, 필요한 경우 수동으로 정의할 수 있습니다. 다중 클래스 분류 및 분할에서는 전체 손실대신에 각 클래스의 평균 손실을 계산하는 손실 함수를 사용합니다. 1. Distributation-based loss ( 분포 기반 손실 함수 )Cross entropy (CE) 크로스 엔트로피는 Kullback-Leibler(KL) divergence라는 두 분포 사이의 비유사성에 대한 측정값입니다. 일반적인 기계 학습에서는 데이터 분포는 훈련 데이터에의해 제공되므로 H(p)는 상수입니다.가중 교차 엔트로피는 CE의 확장된 버전으로 각 클래스에 다른 가중치를 할당합니다. 일반적으로 제시되지 않은 클래스에는 더 큰 가중치가 할당됩니다.TopK loss는 네트워크가 훈련 중에 까다로운 샘플에 집중하도록 하는 것을 목표로 합니다.초점 손실은 잘 분류된 예제에 할당된 손실이 감소되는 극단적인 전경-배경 클래스 불균형을 처리하기 위해 표준 CE를 적용합니다.거리 패널티 CE 손실 가중치는 실제 마스크에서 파생된 거리 맵에 의해 엔트로피를 교차합니다. 분할하기 어려운 경계 영역으로 네트워크의 초점을 안내하는 것을 목표로 합니다. 2. BCE-DICE Loss (BCE-Dice 결합 손실 함수) 이 손실은 이미지 분할 모델 손실 함수로서 기본값인 표준 이진 교차 엔트로피(BCE) 손실과 주사위 손실을 결합합니다. 두 가지 방법을 결합하면 손실의 다양성을 허용하면서 BCE의 안정성을 활용할 수 있습니다. 다중 클래스 BCE에 대한 방정식 자체는 로지스틱 회귀를 연구자에게 친숙한 개념이다.  3. Region-based loss (영역 기반 함수)영역 기반 손실 함수는 정답과 예측된 분할 간의 불일치를 최소화하거나 중첩 영역을 최대화하는 것을 목표로 합니다.민감도-특이성(SS) 손실은 민감도와 특이성의 평균 제곱 차이의 가중치 합입니다. 불균형 문제를 해결하기 위해 SS는 특이성에 더 높은 가중치를 부여합니다.주사위 손실은 가장 일반적으로 이미지 분할에 사용되는 평가 지표인 주사위 계수를 직접 최적화합니다.Dice 손실과 유사한 IoU 손실(Jaccard 손실이라고도 함)은 세분화 메트릭을 직접 최적화하는 데에도 사용됩니다.Tversky 손실은 FN(False Negative) 및 FP(False Positive)에 서로 다른 가중치를 설정합니다. 이는 FN 및 FP에 대해 동일한 가중치를 사용하는 주사위 손실과 다릅니다.일반화된 주사위 손실은 각 클래스의 가중치가 레이블 빈도의 제곱에 반비례하는 Dice 손실의 다중 클래스 확장입니다.초점 트버스키 손실은 초점 손실의 개념을 적용하여 확률이 낮은 희귀한 케이스에 초점을 맞춥니다.페널티 손실은 일반화된 주사위 손실에서 위음성 및 위양성에 높은 페널티를 제공하는 손실 함수입니다. 4. Dice Loss주사위 계수는 가장 일반적으로 이미지 분할에 사용되는 평가 지표이며, 이에 최적화 된 손실 함수입니다. 5. Jaccard/Intersection over Union (IoU) Loss -> IoU 손실 함수IoU 평가 지표는 주사위 지표와 비슷하며 교집합 대비 합집하의 비율로 계산된다. 주사위 지표와 함께 이미지 분할 모델에서 가장 많이 쓰이는 지표(수단)이다. 6. Focal LossFocal Loss는 2017년 Facebook AI Research의 Lin et al에 의해 양성 사례가 상대적으로 드물었던 극도로 불균형한 데이터 세트를 해결하기 위한 수단으로 도입되었습니다. 그들의 논문 "Focal Loss for Dense Object Detection"은 https://arxiv.org/abs/1708.02002에서 검색할 수 있습니다. 실제로 연구원들은 함수의 알파 수정 버전을 사용했기 때문에 이 구현에 포함시켰습니다. 7. Tversky Loss트베르스키 손실은 https://arxiv.org/abs/1706.05721 에서 검색할 수 있는 "3D 완전 컨볼루션 심층 네트워크를 사용하는 이미지 분할을 위한 Tversky 손실 함수"에 소개되었습니다. 손실 함수에서 서로 다른 유형의 오류가 얼마나 심하게 처벌되는지를 조정할 수 있는 상수를 활용하여 불균형 의료 데이터 세트에 대한 분할을 최적화하도록 설계되었습니다. 논문에서:... α=β=0.5의 경우 Tversky 지수는 F1 점수와 동일한 주사위 계수와 동일하도록 단순화됩니다. α=β=1일 때 방정식 2는 Tanimoto 계수를 생성하고 α+β=1로 설정하면 Fβ 점수 세트를 생성합니다. β가 클수록 정밀도보다 재현율이 더 높습니다(위음성에 더 중점을 둠).요약하자면, 이 손실 함수는 값이 증가함에 따라 손실 함수에서 더 높은 정도로 위양성 및 위음성 각각에 페널티를 주는 상수 '알파' 및 '베타'에 의해 가중치가 부여됩니다. 특히 베타 상수는 모델이 매우 보수적인 예측을 통해 오도할 정도로 긍정적인 성능을 얻을 수 있는 상황에서 적용됩니다. 최적의 값을 찾기 위해 다양한 값으로 실험할 수 있습니다. alpha==beta==0.5에서 이 손실은 Dice Loss와 동일해집니다. 8. Focal Tversky Loss트베르스키 손실의 변형으로서 초점 손실의 감마 수정자를 포함한다.  9. Lovasz Hinge Loss로바즈 힌지 손실 함수는 Berman, Triki 및 Blaschko의 논문 "The Lovasz-Softmax loss: A tractable surrogate for optimize of cross-over-union measure in neural network"에서 소개되었으며 여기에서 검색할 수 있습니다: https://arxiv.org/abs/1705.08790.특히 다중 분류의 경우 의미론적 분할을 위해 Intersection over Union 점수를 최적화하도록 설계되었습니다. 특히 각 오류가 IoU 점수에 미치는 영향을 누적 계산하기 전에 오류를 기준으로 예측을 정렬합니다. 그런 다음 이 그래디언트 벡터에 초기 오류 벡터를 곱하여 IoU 점수를 가장 많이 감소시킨 예측에 가장 강력한 페널티를 부여합니다. 이 절차는 jeanderbleu의 탁월한 요약 에서 자세히 설명되어 있습니다.이 코드는 https://github.com/bermanmaxim/LovaszSoftmax 작성자의 github에서 직접 가져왔으며 모든 크레딧은 이들에게 있습니다.원본 손실 함수 외에도 PyTorch에 대한 입력으로 재구성된 랭크 1 텐서를 사용하는 플랫 변형을 구현했습니다. 필요에 따라 데이터의 차원과 클래스 번호에 따라 수정할 수 있습니다. 이 코드는 원시 로짓을 사용하므로 손실 계산 전에 모델에 활성화 레이어가 포함되어 있지 않은지 확인해야 합니다.간결함을 위해 연구원의 코드를 아래에 숨겼습니다. 손실이 작동하려면 커널에 로드하기만 하면 됩니다. tensorflow 구현의 경우 여전히 Keras와 호환되도록 노력하고 있습니다. Tensorflow와 Keras 함수 라이브러리 사이에는 이를 복잡하게 만드는 차이점이 있습니다. 10. Combo Loss콤보 손실은 Taghanaki 등의 논문 "Combo loss: Handling input and output 불균형 in multi-organ segmentation"에서 소개되었으며 여기에서 검색할 수 있습니다: https://arxiv.org/abs/1805.02798.콤보 손실은 Tversky 손실과 마찬가지로 거짓 긍정 또는 거짓 부정에 각각 페널티를 주는 추가 상수가 있는 수정된 교차 엔트로피 함수와 주사위 손실의 조합입니다.( 결합 함수) 11. Boundary--based loss최근 새로운 유형의 손실 함수인 경계 기반 손실은 정답과 예측 간의 거리를 최소화하는 것을 목표로 합니다. 일반적으로 더 나은 결과를 위해서 경계 기반 손실 함수가 영역 기반 손실과 함께 사용됩니다. 12. Compound loss여러종류의 손실함수를 결합함으로서, 우리는 혼합된(결합된) 손실 함수를 얻을 수 있습니다. (ex Dice+CE, Dice + Focal, Dice + IOU )... 모든 종류의 손실 함수들은 플러그 방식으로(조립 및 결합) 사용할 수 있습니다.   

    whalee

    follower0

    팔로우
    프로필 보기

    whalee

    2024.04.21 02:03

    0
    0
    4
    Choosing Between LoRA/QLoRA for Fine-Tuning LLM
    When exploring how to fine-tune large language models (LLMs), I came across two prevalent frameworks: "LoRA" and "QLoRA". Both seem to be at the forefront of current methodologies, compelling me to delve deeper into their functionalities and implications for my project. As a newcomer to the realm of LLMs, the journey to understand these frameworks has been anything but straightforward.LoRA, introduced in a study available at https://arxiv.org/abs/2106.09685, and QLoRA, detailed at https://arxiv.org/abs/2305.14314, each propose unique approaches to model fine-tuning. In an effort to discern which framework might better serve my needs, I referred to a guidance page provided by Google Cloud, which discusses the trade-offs between LoRA and QLoRA. This resource, accessible at https://cloud.google.com/vertex-ai/generative-ai/docs/model-garden/lora-qlora?hl=ko, offers insights into how each framework performs across various metrics.According to the guidance, the choice between LoRA and QLoRA hinges on specific needs, summarized as follows:GPU Memory Efficiency: QLoRA is recommended for better utilization of GPU memory.Speed: LoRA offers superior speed during the training process.Cost Efficiency: LoRA is more cost-effective, likely due to its speed advantage.Higher Max Sequence Length: QLoRA supports longer sequence lengths, beneficial for tasks requiring extensive context.Accuracy Improvement: Both frameworks offer similar improvements in accuracy.Higher Batch Size: QLoRA accommodates larger batch sizes, which can enhance training efficiency.Additionally, the guidance notes a practical consideration: the 7B model variant (specifically openLLaMA-7b, not Gemma-7b) with a batch size of 1 fails to train on L4/V100 GPUs, whereas the A100 GPU supports a batch size of 2.Ultimately, the choice between LoRA and QLoRA should align with one's specific project requirements. For those seeking further insights, the following resources provide implementation examples and additional context:Thanks to:An article detailing how to fine-tune Gemma using QLoRA: https://medium.com/@samvardhan777/fine-tune-gemma-using-qlora-️-6b2f2e76dc55.An exploration of the differences between QLoRA and LoRA for fine-tuning LLMs: https://medium.com/@sujathamudadla1213/difference-between-qlora-and-lora-for-fine-tuning-llms-0ea35a195535.

    roselyn

    follower0

    팔로우
    프로필 보기

    roselyn

    2024.04.16 05:28

    0
    0
    10
    Prompt Rewriting with Reinforcement Learning
     The PRewrite(Prompt Rewriting with Reinforcement Learning) is an automated method to rewrite an under-optimized prompt to a more effective prompt. It instantiate the prompt rewriter using an LLM. The rewriter LLM is trained using reinforcement learning to optimize the performance on a given down stream task.Main idea is to train a prompt rewriter to rewrite an initial under-optimized prompt to a more effective prompt. The prompt rewriter itself is a LLM, trained using RL to optimize for a downstream task. Shown below, Specifically, given an initial prompt, the prompt rewriter LLM is instructed to generate a rewritten prompt, which in turn is used by the task LLM to generate the final output. Using a reward computed on the final output against the ground-truth output, the rewriter LLM is finetuned with RL. Main contributions:Propose PRewrite, a novel automated prompt engineering approach. It optimizes prompt via rewriting, in an end-to-end manner using rein forcement learning.Develop two rewriting strategies, including one that searches for an optimal rewritten prompt from candidates generated by the RL-trained prompt rewriter. This often further improves the prompt optimization performance.Conduct experiments on diverse bench mark datasets, which testify the effectiveness of PRewrite and demonstrate its state-of-the-art per formance. overview:First, the prompt rewriter takes in an initial prompt p and rewrites it to another prompt p†. The initial prompt is usually crafted manually and can be sub-optimal. Observing the remarkable capability of LLMs, we instruct a LLM  with a meta prompt m for rewriting as follows:Second, the rewritten prompt p† is then used by the task LLM to generate the task output. The task LLM is assumed to be a blackbox accessed via API and can be larger than the rewriter LLM. Third, we compute rewards based on the task output in comparison with the ground-truth output and use reinforcement learning (RL) to finetune the rewriter LLM on a training set. As a result, the rewriter LLM and the rewritten prompt are unlikely to perform well on the downstream task initially. Lastly, we use the RL-trained prompt rewriter to rewrite the initial prompt according to Equation 1 based on two strategies outlined. reference:[2401.08189] PRewrite: Prompt Rewriting with Reinforcement Learning (arxiv.org) 

    contact@aifactory.page

    대전광역시 서구 만년로 68 번길 15-20, 5 층 504호

    서울특별시 중구 세종대로18길 16, 804호

    사업자등록번호 871-81-01735