דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
לוגו מותג
  1. דף הבית
  2. קטגוריות בהרצה
  3. תכנות
  4. בינה מלאכותית - AI
  5. עזרה הדדית - בינה מלאכותית
  6. שיתוף | מודל שפה חדש בעברית מבית דיקטה

שיתוף | מודל שפה חדש בעברית מבית דיקטה

מתוזמן נעוץ נעול הועבר עזרה הדדית - בינה מלאכותית
22 פוסטים 8 כותבים 2.2k צפיות 11 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ש שמואל5

    @sivan22 איך משתמשים בו?

    sivan22S מחובר
    sivan22S מחובר
    sivan22
    כתב ב נערך לאחרונה על ידי sivan22
    #4

    @שמואל5 כתב בשיתוף | מודל שפה חדש בעברית מבית דיקטה:

    @sivan22 איך משתמשים בו?

    מריצים את הקוד הבא בcolab או שירות מקביל עם GPU של לפחות 16 ג'יגה (החינמי בcolab מספיק!!)

    קישור למחברת עם הקוד.

    ! pip install git+https://github.com/huggingface/accelerate
    ! pip install -i https://test.pypi.org/simple/ bitsandbytes
    ! pip install  transformers
    ! pip install torch
    
    import torch
    
    from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
    
    quantization_config = BitsAndBytesConfig(
        load_in_4bit=True,
        bnb_4bit_compute_dtype=torch.float16,
        bnb_4bit_use_double_quant=True
    )
    
    tokenizer = AutoTokenizer.from_pretrained("dicta-il/dictalm-7b-instruct",trust_remote_code=True)
    model = AutoModelForCausalLM.from_pretrained("dicta-il/dictalm-7b-instruct", quantization_config=quantization_config, trust_remote_code=True)
    
    input_text = "תן לי מתכון לעוגת גבינה" 
    
    inputs = tokenizer(input_text, return_tensors="pt")
    
    with torch.backends.cuda.sdp_kernel(enable_flash=True, enable_math=False, enable_mem_efficient=False):
        outputs = model.generate(**inputs, max_new_tokens=100)
    
    print(tokenizer.decode(outputs[0], skip_special_tokens=True))
    
    האדם החושבה sivan22S 2 תגובות תגובה אחרונה
    1
    • sivan22S sivan22

      @שמואל5 כתב בשיתוף | מודל שפה חדש בעברית מבית דיקטה:

      @sivan22 איך משתמשים בו?

      מריצים את הקוד הבא בcolab או שירות מקביל עם GPU של לפחות 16 ג'יגה (החינמי בcolab מספיק!!)

      קישור למחברת עם הקוד.

      ! pip install git+https://github.com/huggingface/accelerate
      ! pip install -i https://test.pypi.org/simple/ bitsandbytes
      ! pip install  transformers
      ! pip install torch
      
      import torch
      
      from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
      
      quantization_config = BitsAndBytesConfig(
          load_in_4bit=True,
          bnb_4bit_compute_dtype=torch.float16,
          bnb_4bit_use_double_quant=True
      )
      
      tokenizer = AutoTokenizer.from_pretrained("dicta-il/dictalm-7b-instruct",trust_remote_code=True)
      model = AutoModelForCausalLM.from_pretrained("dicta-il/dictalm-7b-instruct", quantization_config=quantization_config, trust_remote_code=True)
      
      input_text = "תן לי מתכון לעוגת גבינה" 
      
      inputs = tokenizer(input_text, return_tensors="pt")
      
      with torch.backends.cuda.sdp_kernel(enable_flash=True, enable_math=False, enable_mem_efficient=False):
          outputs = model.generate(**inputs, max_new_tokens=100)
      
      print(tokenizer.decode(outputs[0], skip_special_tokens=True))
      
      האדם החושבה מנותק
      האדם החושבה מנותק
      האדם החושב
      מדריכים
      כתב ב נערך לאחרונה על ידי האדם החושב
      #5

      @sivan22

      ERROR: You must give at least one requirement to install (see "pip help install")
      ---------------------------------------------------------------------------
      ModuleNotFoundError                       Traceback (most recent call last)
      <ipython-input-1-105d6d6319da> in <cell line: 6>()
            4 import torch
            5 
      ----> 6 from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
            7 
            8 quantization_config = BitsAndBytesConfig(
      
      ModuleNotFoundError: No module named 'transformers'
      
      ---------------------------------------------------------------------------
      NOTE: If your import is failing due to a missing package, you can
      manually install dependencies using either !pip or !apt.
      
      To view examples of installing some common dependencies, click the
      "Open Examples" button below.
      ---------------------------------------------------------------------------
      

      נראה שיש בעיה בייבוא המודול השני
      https://colab.research.google.com/drive/1loqK6DSJHn08KSthrJQKm0J8viDfukKw?usp=sharing

      sivan22S תגובה 1 תגובה אחרונה
      0
      • האדם החושבה האדם החושב

        @sivan22

        ERROR: You must give at least one requirement to install (see "pip help install")
        ---------------------------------------------------------------------------
        ModuleNotFoundError                       Traceback (most recent call last)
        <ipython-input-1-105d6d6319da> in <cell line: 6>()
              4 import torch
              5 
        ----> 6 from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
              7 
              8 quantization_config = BitsAndBytesConfig(
        
        ModuleNotFoundError: No module named 'transformers'
        
        ---------------------------------------------------------------------------
        NOTE: If your import is failing due to a missing package, you can
        manually install dependencies using either !pip or !apt.
        
        To view examples of installing some common dependencies, click the
        "Open Examples" button below.
        ---------------------------------------------------------------------------
        

        נראה שיש בעיה בייבוא המודול השני
        https://colab.research.google.com/drive/1loqK6DSJHn08KSthrJQKm0J8viDfukKw?usp=sharing

        sivan22S מחובר
        sivan22S מחובר
        sivan22
        כתב ב נערך לאחרונה על ידי
        #6

        @האדם-החושב עדכנתי פוסט, תבדוק שוב (אני מריץ על kaggle כי colab חסום בנטפרי)

        האדם החושבה תגובה 1 תגובה אחרונה
        0
        • sivan22S sivan22

          @האדם-החושב עדכנתי פוסט, תבדוק שוב (אני מריץ על kaggle כי colab חסום בנטפרי)

          האדם החושבה מנותק
          האדם החושבה מנותק
          האדם החושב
          מדריכים
          כתב ב נערך לאחרונה על ידי
          #7

          @sivan22

          LocalTokenNotFoundError                   Traceback (most recent call last)
          <ipython-input-7-8a60ba73216a> in <cell line: 15>()
               13 )
               14 
          ---> 15 tokenizer = AutoTokenizer.from_pretrained("dicta-il/dictalm-7b-instruct",use_auth_token=True,trust_remote_code=True)
               16 model = AutoModelForCausalLM.from_pretrained("dicta-il/dictalm-7b-instruct", quantization_config=quantization_config, use_auth_token=True,trust_remote_code=True)
               17 
          
          7 frames
          /usr/local/lib/python3.10/dist-packages/huggingface_hub/utils/_headers.py in get_token_to_send(token)
              151     if token is True:
              152         if cached_token is None:
          --> 153             raise LocalTokenNotFoundError(
              154                 "Token is required (`token=True`), but no token found. You"
              155                 " need to provide a token or be logged in to Hugging Face with"
          
          LocalTokenNotFoundError: Token is required (`token=True`), but no token found. You need to provide a token or be logged in to Hugging Face with `huggingface-cli login` or `huggingface_hub.login`. See https://huggingface.co/settings/tokens.
          
          sivan22S תגובה 1 תגובה אחרונה
          0
          • האדם החושבה האדם החושב

            @sivan22

            LocalTokenNotFoundError                   Traceback (most recent call last)
            <ipython-input-7-8a60ba73216a> in <cell line: 15>()
                 13 )
                 14 
            ---> 15 tokenizer = AutoTokenizer.from_pretrained("dicta-il/dictalm-7b-instruct",use_auth_token=True,trust_remote_code=True)
                 16 model = AutoModelForCausalLM.from_pretrained("dicta-il/dictalm-7b-instruct", quantization_config=quantization_config, use_auth_token=True,trust_remote_code=True)
                 17 
            
            7 frames
            /usr/local/lib/python3.10/dist-packages/huggingface_hub/utils/_headers.py in get_token_to_send(token)
                151     if token is True:
                152         if cached_token is None:
            --> 153             raise LocalTokenNotFoundError(
                154                 "Token is required (`token=True`), but no token found. You"
                155                 " need to provide a token or be logged in to Hugging Face with"
            
            LocalTokenNotFoundError: Token is required (`token=True`), but no token found. You need to provide a token or be logged in to Hugging Face with `huggingface-cli login` or `huggingface_hub.login`. See https://huggingface.co/settings/tokens.
            
            sivan22S מחובר
            sivan22S מחובר
            sivan22
            כתב ב נערך לאחרונה על ידי
            #8

            @האדם-החושב עדכנתי שוב

            תגובה 1 תגובה אחרונה
            0
            • sivan22S sivan22

              @שמואל5 כתב בשיתוף | מודל שפה חדש בעברית מבית דיקטה:

              @sivan22 איך משתמשים בו?

              מריצים את הקוד הבא בcolab או שירות מקביל עם GPU של לפחות 16 ג'יגה (החינמי בcolab מספיק!!)

              קישור למחברת עם הקוד.

              ! pip install git+https://github.com/huggingface/accelerate
              ! pip install -i https://test.pypi.org/simple/ bitsandbytes
              ! pip install  transformers
              ! pip install torch
              
              import torch
              
              from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
              
              quantization_config = BitsAndBytesConfig(
                  load_in_4bit=True,
                  bnb_4bit_compute_dtype=torch.float16,
                  bnb_4bit_use_double_quant=True
              )
              
              tokenizer = AutoTokenizer.from_pretrained("dicta-il/dictalm-7b-instruct",trust_remote_code=True)
              model = AutoModelForCausalLM.from_pretrained("dicta-il/dictalm-7b-instruct", quantization_config=quantization_config, trust_remote_code=True)
              
              input_text = "תן לי מתכון לעוגת גבינה" 
              
              inputs = tokenizer(input_text, return_tensors="pt")
              
              with torch.backends.cuda.sdp_kernel(enable_flash=True, enable_math=False, enable_mem_efficient=False):
                  outputs = model.generate(**inputs, max_new_tokens=100)
              
              print(tokenizer.decode(outputs[0], skip_special_tokens=True))
              
              sivan22S מחובר
              sivan22S מחובר
              sivan22
              כתב ב נערך לאחרונה על ידי sivan22
              #9

              @sivan22 והנה המתכון המיוחל לעוגת הגבינה

              הנה מתכון בסיסי לעוגת גבינה: 2 כוסות קמח לכל מטרה 1 כוס סוכר מגורען 1 כפית אבקת אפייה 1 כפית סודה לשתייה 1 כפית מלח כשר לציפוי מערבבים קמח, סוכר, אבקת אפייה, סודה לשתייה ומלח. מערבבים עד לקבלת תערובת אחידה. משמנים תבנית אפייה ומניחים בצד. מערבבים בקערה גדולה קמח, סוכר, אבקת אפייה ומלח. מוסיפים שמן, מלח, אבקת אפייה, סודה לשתייה ומלח ומערבבים עד לקבלת תערובת אחידה. יוצקים את הבלילה לתבנית אפייה מרובעת בגודל 8"x8" משומנת

              רגע, איפה הגבינה!

              פלורידהפ תגובה 1 תגובה אחרונה
              1
              • sivan22S sivan22

                @sivan22 והנה המתכון המיוחל לעוגת הגבינה

                הנה מתכון בסיסי לעוגת גבינה: 2 כוסות קמח לכל מטרה 1 כוס סוכר מגורען 1 כפית אבקת אפייה 1 כפית סודה לשתייה 1 כפית מלח כשר לציפוי מערבבים קמח, סוכר, אבקת אפייה, סודה לשתייה ומלח. מערבבים עד לקבלת תערובת אחידה. משמנים תבנית אפייה ומניחים בצד. מערבבים בקערה גדולה קמח, סוכר, אבקת אפייה ומלח. מוסיפים שמן, מלח, אבקת אפייה, סודה לשתייה ומלח ומערבבים עד לקבלת תערובת אחידה. יוצקים את הבלילה לתבנית אפייה מרובעת בגודל 8"x8" משומנת

                רגע, איפה הגבינה!

                פלורידהפ מנותק
                פלורידהפ מנותק
                פלורידה
                כתב ב נערך לאחרונה על ידי
                #10

                1 כפית מלח כשר

                ולמה 5 פעמים מלח?

                sivan22S תגובה 1 תגובה אחרונה
                1
                • פלורידהפ פלורידה

                  1 כפית מלח כשר

                  ולמה 5 פעמים מלח?

                  sivan22S מחובר
                  sivan22S מחובר
                  sivan22
                  כתב ב נערך לאחרונה על ידי sivan22
                  #11

                  עדכון:
                  הכנתי ממשק משתמש נחמד, שניתן להריץ על google colab או בשירות דומה.
                  (החינמי לא מספיק, צריך שדרוג!!)

                  אמור להיראות כך:
                  afdc2b95-7f3f-44bb-a675-fe20c12ced6b-image.png

                  יש לרשום בתא הראשון:

                  !pip install streamlit streamlit-chat
                  ! pip install git+https://github.com/huggingface/accelerate
                  ! pip install -i https://test.pypi.org/simple/ bitsandbytes
                  ! pip install  --upgrade transformers torch tensorflow tensorboard
                  

                  בתא השני יש לרשום:

                  %%writefile my_app.py
                   
                  import argparse
                  import re
                  import os
                   
                  import streamlit as st
                  from streamlit_chat import message
                  import random
                  import numpy as np
                  import torch
                  from transformers import AutoTokenizer, AutoModelForCausalLM
                  import tokenizers
                   
                   
                  random.seed(None)
                   
                  @st.cache_resource
                  def load_model(model_name):
                      tokenizer = AutoTokenizer.from_pretrained(model_name)
                      model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True, load_in_4bit=True, use_flash_attention=True)
                      return model, tokenizer
                   
                  def extend(input_text, max_size=20, top_k=50, top_p=0.95,temperature=0.75):
                      if len(input_text) == 0:
                          input_text = ""
                   
                      with torch.inference_mode():
                          kwargs = dict(
                              inputs=tokenizer(input_text, return_tensors='pt').input_ids.to(model.device),
                              do_sample=True,
                              top_k=top_k,
                              top_p=top_p,
                              temperature=temperature,
                              max_length=max_size,
                              min_new_tokens=5
                          )
                          answer= (tokenizer.batch_decode(model.generate(**kwargs), skip_special_tokens=True))
                      return answer
                   
                  st.title("dictaLM")
                  pre_model_path = "dicta-il/dictalm-7b-instruct"
                  model, tokenizer = load_model(pre_model_path)
                   
                  np.random.seed(None)
                  random_seed = np.random.randint(10000,size=1)  
                  device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
                  n_gpu = 0 if torch.cuda.is_available()==False else torch.cuda.device_count()
                   
                  torch.manual_seed(random_seed)
                  if n_gpu > 0:
                      torch.cuda.manual_seed_all(random_seed)
                   
                  
                   
                  st.sidebar.subheader("Configurable parameters")
                  max_len = st.sidebar.slider("Max-Length", 0, 192, 96,help="The maximum length of the sequence to be generated.")
                  top_k = st.sidebar.slider("Top-K", 0, 100, 40, help="The number of highest probability vocabulary tokens to keep for top-k-filtering.")
                  top_p = st.sidebar.slider("Top-P", 0.0, 1.0, 0.92, help="If set to float < 1, only the most probable tokens with probabilities that add up to top_p or higher are kept for generation.")
                  temperature = st.sidebar.slider("Temperature", 0.0, 1.0, 0.75, help="TO COME")
                   
                  def on_input_change():
                      user_input = st.session_state.user_input
                      result = extend(input_text=user_input,
                                                               top_k=int(top_k),
                                                               top_p=float(top_p),
                                                               max_size=int(max_len),
                                                               temperature=float(temperature)
                                                              )
                      print(result)
                      chat_placeholder = st.empty()
                      with chat_placeholder.container():                 
                          message(user_input, is_user=True)
                          message(result[0])
                   
                  def on_btn_click():
                      del st.session_state.past[:]
                      del st.session_state.generated[:]
                   
                   
                  st.session_state.setdefault(
                      'past', 
                      []
                  )
                  st.session_state.setdefault(
                      'generated', []
                      )
                   
                   
                  st.markdown(    
                      """hebrew chat based on dictaLM"""
                  )
                   
                  with st.container():
                      st.text_input("User Input:", on_change=on_input_change, key="user_input")
                  st.button("Clear message", on_click=on_btn_click)
                  
                  

                  בתא השלישי לרשום :

                  !curl ipv4.icanhazip.com
                  

                  בתא הרביעי לרשום:

                  !npm install localtunnel
                  !streamlit run app.py &>/content/logs.txt &
                  !npx localtunnel --port 8501
                  

                  אז יש ללחוץ על כתובת הURL.

                  להעתיק את כתובת הIP מהשורה הקודמת.

                  להמתין עד שמופיעה ההודעה כי המודל נטען בשלמות.

                  Men770M תגובה 1 תגובה אחרונה
                  2
                  • sivan22S sivan22

                    עדכון:
                    הכנתי ממשק משתמש נחמד, שניתן להריץ על google colab או בשירות דומה.
                    (החינמי לא מספיק, צריך שדרוג!!)

                    אמור להיראות כך:
                    afdc2b95-7f3f-44bb-a675-fe20c12ced6b-image.png

                    יש לרשום בתא הראשון:

                    !pip install streamlit streamlit-chat
                    ! pip install git+https://github.com/huggingface/accelerate
                    ! pip install -i https://test.pypi.org/simple/ bitsandbytes
                    ! pip install  --upgrade transformers torch tensorflow tensorboard
                    

                    בתא השני יש לרשום:

                    %%writefile my_app.py
                     
                    import argparse
                    import re
                    import os
                     
                    import streamlit as st
                    from streamlit_chat import message
                    import random
                    import numpy as np
                    import torch
                    from transformers import AutoTokenizer, AutoModelForCausalLM
                    import tokenizers
                     
                     
                    random.seed(None)
                     
                    @st.cache_resource
                    def load_model(model_name):
                        tokenizer = AutoTokenizer.from_pretrained(model_name)
                        model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True, load_in_4bit=True, use_flash_attention=True)
                        return model, tokenizer
                     
                    def extend(input_text, max_size=20, top_k=50, top_p=0.95,temperature=0.75):
                        if len(input_text) == 0:
                            input_text = ""
                     
                        with torch.inference_mode():
                            kwargs = dict(
                                inputs=tokenizer(input_text, return_tensors='pt').input_ids.to(model.device),
                                do_sample=True,
                                top_k=top_k,
                                top_p=top_p,
                                temperature=temperature,
                                max_length=max_size,
                                min_new_tokens=5
                            )
                            answer= (tokenizer.batch_decode(model.generate(**kwargs), skip_special_tokens=True))
                        return answer
                     
                    st.title("dictaLM")
                    pre_model_path = "dicta-il/dictalm-7b-instruct"
                    model, tokenizer = load_model(pre_model_path)
                     
                    np.random.seed(None)
                    random_seed = np.random.randint(10000,size=1)  
                    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
                    n_gpu = 0 if torch.cuda.is_available()==False else torch.cuda.device_count()
                     
                    torch.manual_seed(random_seed)
                    if n_gpu > 0:
                        torch.cuda.manual_seed_all(random_seed)
                     
                    
                     
                    st.sidebar.subheader("Configurable parameters")
                    max_len = st.sidebar.slider("Max-Length", 0, 192, 96,help="The maximum length of the sequence to be generated.")
                    top_k = st.sidebar.slider("Top-K", 0, 100, 40, help="The number of highest probability vocabulary tokens to keep for top-k-filtering.")
                    top_p = st.sidebar.slider("Top-P", 0.0, 1.0, 0.92, help="If set to float < 1, only the most probable tokens with probabilities that add up to top_p or higher are kept for generation.")
                    temperature = st.sidebar.slider("Temperature", 0.0, 1.0, 0.75, help="TO COME")
                     
                    def on_input_change():
                        user_input = st.session_state.user_input
                        result = extend(input_text=user_input,
                                                                 top_k=int(top_k),
                                                                 top_p=float(top_p),
                                                                 max_size=int(max_len),
                                                                 temperature=float(temperature)
                                                                )
                        print(result)
                        chat_placeholder = st.empty()
                        with chat_placeholder.container():                 
                            message(user_input, is_user=True)
                            message(result[0])
                     
                    def on_btn_click():
                        del st.session_state.past[:]
                        del st.session_state.generated[:]
                     
                     
                    st.session_state.setdefault(
                        'past', 
                        []
                    )
                    st.session_state.setdefault(
                        'generated', []
                        )
                     
                     
                    st.markdown(    
                        """hebrew chat based on dictaLM"""
                    )
                     
                    with st.container():
                        st.text_input("User Input:", on_change=on_input_change, key="user_input")
                    st.button("Clear message", on_click=on_btn_click)
                    
                    

                    בתא השלישי לרשום :

                    !curl ipv4.icanhazip.com
                    

                    בתא הרביעי לרשום:

                    !npm install localtunnel
                    !streamlit run app.py &>/content/logs.txt &
                    !npx localtunnel --port 8501
                    

                    אז יש ללחוץ על כתובת הURL.

                    להעתיק את כתובת הIP מהשורה הקודמת.

                    להמתין עד שמופיעה ההודעה כי המודל נטען בשלמות.

                    Men770M מנותק
                    Men770M מנותק
                    Men770
                    מדריכים
                    כתב ב נערך לאחרונה על ידי
                    #12

                    @sivan22 מסיבה כלשהי colab אצלי מסרב להכיר בזה שaccelerate מותקן, למרות שההתקנה עברה בהצלחה.

                    לפניות בעניין הפורום וכל נושא אחר:
                    m@men770.gq

                    יחי אדוננו מורנו ורבינו מלך המשיח לעולם ועד!

                    sivan22S פלורידהפ 2 תגובות תגובה אחרונה
                    0
                    • sivan22S sivan22

                      דיקטה שחררו מודל שפה בעברית בעל 7B פרמטרים, בינתיים בגרסה ראשונית. שמו של המודל: dictaLM. המודל שוחרר כקוד פתוח תחת רישיון cc 4.0.
                      מדובר במודל ג'נרטיבי ראשון שמשוחרר בקוד פתוח.

                      הנה קישור לנייר הלבן בarxiv.
                      והנה כרטיס המודל בhuggingface.

                      הוא שוחרר בשני גרסאות, בסיסית ומונחית פקודות, האחרונה יכולה לנהל שיח בסגנון צ'אט.
                      בנוסף שוחרר מודל ג'נרטיבי תורני בשם dictaLM-rab. המודל אומן על 50% עברית מודרנית ו50% עברית תורנית ממקורות שונים. למודל זה לא קיימת גרסת צ'אט.

                      כרגע לא קיים ממשק נוח לשימוש במודל זה, וניתן לבחון אותו רק באמצעות כתיבת קוד כפי הדוגמאות בכרטיס המודל בhuggingface.
                      עדכון: ניתן להריץ דוגמא כאן.
                      01fc5081-2151-4b26-a874-af14db37c817-image.png
                      ובהקשר זה נציין שאין כרגע גירסה מוקטנת (כגון GPTQ או 4bit) כך שזה לא יהיה אפשרי להריץ אותו על המחשב הביתי, לפחות בינתיים. אם יהיו לי עדכונים, אעדכן.

                      YkingsmartY מחובר
                      YkingsmartY מחובר
                      Ykingsmart
                      מדריכים
                      כתב ב נערך לאחרונה על ידי
                      #13

                      @sivan22 אוף, אתם מדברים גבוה מידי בשביל פשוטי עם כמוני.

                      לאינדקס האפליקציות והמדריכים שפירסמתי לחץ כאן
                      אפשר ליצור איתי קשר במייל
                      Ykingsmart1@gmail.com

                      sivan22S תגובה 1 תגובה אחרונה
                      2
                      • Men770M Men770

                        @sivan22 מסיבה כלשהי colab אצלי מסרב להכיר בזה שaccelerate מותקן, למרות שההתקנה עברה בהצלחה.

                        sivan22S מחובר
                        sivan22S מחובר
                        sivan22
                        כתב ב נערך לאחרונה על ידי
                        #14

                        @Men770 כתב בשיתוף | מודל שפה חדש בעברית מבית דיקטה:

                        @sivan22 מסיבה כלשהי colab אצלי מסרב להכיר בזה שaccelerate מותקן, למרות שההתקנה עברה בהצלחה.

                        תנסה להתקין מחדש את torch ואולי גם transformers

                        !pip install --upgrade torch transformers
                        
                        תגובה 1 תגובה אחרונה
                        0
                        • Men770M Men770

                          @sivan22 מסיבה כלשהי colab אצלי מסרב להכיר בזה שaccelerate מותקן, למרות שההתקנה עברה בהצלחה.

                          פלורידהפ מנותק
                          פלורידהפ מנותק
                          פלורידה
                          כתב ב נערך לאחרונה על ידי פלורידה
                          #15

                          @Men770 כתב בשיתוף | מודל שפה חדש בעברית מבית דיקטה:

                          @sivan22 מסיבה כלשהי colab אצלי מסרב להכיר בזה שaccelerate מותקן, למרות שההתקנה עברה בהצלחה.

                          אתה חי? שנתיים וחצי לא היית כאן. ברוכים הבאים!!!

                          בוודאי היו לך מאות התראות 🙂

                          sivan22S תגובה 1 תגובה אחרונה
                          1
                          • פלורידהפ פלורידה

                            @Men770 כתב בשיתוף | מודל שפה חדש בעברית מבית דיקטה:

                            @sivan22 מסיבה כלשהי colab אצלי מסרב להכיר בזה שaccelerate מותקן, למרות שההתקנה עברה בהצלחה.

                            אתה חי? שנתיים וחצי לא היית כאן. ברוכים הבאים!!!

                            בוודאי היו לך מאות התראות 🙂

                            sivan22S מחובר
                            sivan22S מחובר
                            sivan22
                            כתב ב נערך לאחרונה על ידי
                            #16

                            הנה עוד טעימה מהמודל:
                            36f732e3-d168-4f4c-8eaf-e78ec23e6bf6-image.png

                            sivan22S תגובה 1 תגובה אחרונה
                            1
                            • sivan22S sivan22

                              הנה עוד טעימה מהמודל:
                              36f732e3-d168-4f4c-8eaf-e78ec23e6bf6-image.png

                              sivan22S מחובר
                              sivan22S מחובר
                              sivan22
                              כתב ב נערך לאחרונה על ידי
                              #17

                              @sivan22 ועוד אחת.
                              f076db1d-2d07-4caf-8bd5-254b2c260c4d-image.png

                              אז כן, מדובר על מודל בשלב מאד ראשוני בינתיים. גם 7 מיליארד פרמטרים זה לא הרבה.

                              J תגובה 1 תגובה אחרונה
                              3
                              • YkingsmartY Ykingsmart

                                @sivan22 אוף, אתם מדברים גבוה מידי בשביל פשוטי עם כמוני.

                                sivan22S מחובר
                                sivan22S מחובר
                                sivan22
                                כתב ב נערך לאחרונה על ידי
                                #18

                                @Ykingsmart כתב בשיתוף | מודל שפה חדש בעברית מבית דיקטה:

                                @sivan22 אוף, אתם מדברים גבוה מידי בשביל פשוטי עם כמוני.

                                לכן פרסמתי את הפוסט דווקא במתמחים טופ ולא בפורום אחר.

                                בכל אופן קצת רקע כללי תוכל לקרוא כאן.

                                תגובה 1 תגובה אחרונה
                                2
                                • sivan22S sivan22

                                  @sivan22 ועוד אחת.
                                  f076db1d-2d07-4caf-8bd5-254b2c260c4d-image.png

                                  אז כן, מדובר על מודל בשלב מאד ראשוני בינתיים. גם 7 מיליארד פרמטרים זה לא הרבה.

                                  J מנותק
                                  J מנותק
                                  jelly
                                  כתב ב נערך לאחרונה על ידי
                                  #19

                                  @sivan22
                                  יש דרך לאמן אותו על דטאבייס משלי?

                                  sivan22S תגובה 1 תגובה אחרונה
                                  0
                                  • J jelly

                                    @sivan22
                                    יש דרך לאמן אותו על דטאבייס משלי?

                                    sivan22S מחובר
                                    sivan22S מחובר
                                    sivan22
                                    כתב ב נערך לאחרונה על ידי
                                    #20

                                    @jelly כתב בשיתוף | מודל שפה חדש בעברית מבית דיקטה:

                                    @sivan22
                                    יש דרך לאמן אותו על דטאבייס משלי?

                                    אני מנסה זאת כעת. אעדכן בהמשך בעזרת ה'.

                                    sivan22S תגובה 1 תגובה אחרונה
                                    0
                                    • sivan22S sivan22

                                      @jelly כתב בשיתוף | מודל שפה חדש בעברית מבית דיקטה:

                                      @sivan22
                                      יש דרך לאמן אותו על דטאבייס משלי?

                                      אני מנסה זאת כעת. אעדכן בהמשך בעזרת ה'.

                                      sivan22S מחובר
                                      sivan22S מחובר
                                      sivan22
                                      כתב ב נערך לאחרונה על ידי
                                      #21

                                      @jelly הנה קוד בסיסי לאימון באמצעות שיטה שנקראת LoRA ( בגדול הרעיון הוא לא לאמן את כל המודל אלא רק שכבות מסוימות) שצורכת מעט זיכרון יחסית אבל התוצאות קצת פחות טובות. לידיעתך באימון המקורי השתמשו ב8 GPU כפול 80 ג'יגה כל אחד למשך כמה ימים. כאן מספיק 16 גיגה.

                                      !pip install -q accelerate==0.21.0 peft==0.4.0 bitsandbytes==0.40.2 transformers==4.31.0 trl==0.4.7
                                      
                                      import os, torch, logging
                                      from datasets import load_dataset
                                      from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig, HfArgumentParser, TrainingArguments, pipeline
                                      from peft import LoraConfig, PeftModel
                                      from trl import SFTTrainer
                                      
                                      # Dataset
                                      data_name = "Norod78/hewiki-20220901-articles-dataset"
                                      training_data = load_dataset(data_name, split='train[0:1000]')
                                      # Model and tokenizer names
                                      base_model_name = "dicta-il/dictalm-7b"
                                      refined_model = "dictalm-7b-finetuned"
                                      
                                      # Tokenizer
                                      tokenizer = AutoTokenizer.from_pretrained(base_model_name, trust_remote_code=True)
                                      
                                      # Quantization Config
                                      quant_config = BitsAndBytesConfig(
                                          load_in_4bit=True,
                                          bnb_4bit_compute_dtype=torch.float16,
                                          bnb_4bit_use_double_quant=True
                                      )
                                      
                                      # Model
                                      base_model = AutoModelForCausalLM.from_pretrained(
                                          base_model_name,
                                          quantization_config=quant_config,
                                          device_map={"": 0},
                                          trust_remote_code=True
                                      )
                                      base_model.config.use_cache = False
                                      base_model.config.pretraining_tp = 1
                                      
                                      # LoRA Config
                                      peft_parameters = LoraConfig(
                                          lora_alpha=16,
                                          lora_dropout=0.1,
                                          r=8,
                                          bias="none",
                                          task_type="CAUSAL_LM",    
                                          target_modules=[r"megatron_gpt.layers.[0-31].self_attention.dense",r"megatron_gpt.layers.[0-31].mlp.dense_h_to_4h",
                                                          r"megatron_gpt.layers.[0-31].mlp.dense_4h_to_h",r"megatron_gpt.layers.[0-31].self_attention.query_key_value"]
                                      )
                                      from peft import get_peft_model
                                      peft_model = get_peft_model(base_model, peft_parameters)
                                      peft_model.print_trainable_parameters()
                                      
                                      # Training Params
                                      train_params = TrainingArguments(
                                          output_dir="./results_modified",
                                          num_train_epochs=1,
                                          per_device_train_batch_size=4,
                                          gradient_accumulation_steps=1,
                                          optim="paged_adamw_32bit",
                                          save_steps=25,
                                          logging_steps=25,
                                          learning_rate=2e-4,
                                          weight_decay=0.001,
                                          fp16=False,
                                          bf16=False,
                                          max_grad_norm=0.3,
                                          max_steps=-1,
                                          warmup_ratio=0.03,
                                          group_by_length=True,
                                          lr_scheduler_type="constant"
                                      )
                                      
                                      # Trainer
                                      fine_tuning = SFTTrainer(
                                          model=base_model,
                                          train_dataset=training_data,
                                          peft_config=peft_parameters,
                                          dataset_text_field="text",
                                          tokenizer=tokenizer,
                                          args=train_params
                                      )
                                      
                                      # Training
                                      fine_tuning.train()
                                      
                                      # Save Model
                                      fine_tuning.model.save_pretrained(refined_model)
                                      

                                      לאחר מכן נבחן את המודל החדש :

                                      # Generate Text
                                      query = "הספרייה הבריטית"
                                      text_gen = pipeline(task="text-generation", model=fine_tuning.model, tokenizer=tokenizer, max_length=200)
                                      output = text_gen(query)
                                      print(output[0]['generated_text'])
                                      

                                      אבל צריך לשחק הרבה עם הפרמטרים כמובן.

                                      תגובה 1 תגובה אחרונה
                                      1
                                      • sivan22S sivan22

                                        דיקטה שחררו מודל שפה בעברית בעל 7B פרמטרים, בינתיים בגרסה ראשונית. שמו של המודל: dictaLM. המודל שוחרר כקוד פתוח תחת רישיון cc 4.0.
                                        מדובר במודל ג'נרטיבי ראשון שמשוחרר בקוד פתוח.

                                        הנה קישור לנייר הלבן בarxiv.
                                        והנה כרטיס המודל בhuggingface.

                                        הוא שוחרר בשני גרסאות, בסיסית ומונחית פקודות, האחרונה יכולה לנהל שיח בסגנון צ'אט.
                                        בנוסף שוחרר מודל ג'נרטיבי תורני בשם dictaLM-rab. המודל אומן על 50% עברית מודרנית ו50% עברית תורנית ממקורות שונים. למודל זה לא קיימת גרסת צ'אט.

                                        כרגע לא קיים ממשק נוח לשימוש במודל זה, וניתן לבחון אותו רק באמצעות כתיבת קוד כפי הדוגמאות בכרטיס המודל בhuggingface.
                                        עדכון: ניתן להריץ דוגמא כאן.
                                        01fc5081-2151-4b26-a874-af14db37c817-image.png
                                        ובהקשר זה נציין שאין כרגע גירסה מוקטנת (כגון GPTQ או 4bit) כך שזה לא יהיה אפשרי להריץ אותו על המחשב הביתי, לפחות בינתיים. אם יהיו לי עדכונים, אעדכן.

                                        0 מנותק
                                        0 מנותק
                                        0772637000
                                        כתב ב נערך לאחרונה על ידי 0772637000
                                        #22

                                        @sivan22 ציטוט מהתקשורת:

                                        הכירו את Dicta-LM 2.0 – מודל שפה גדול, חינמי ופתוח בעברית

                                        bb33752b-867b-4241-bcbe-65e980156c82-image.png

                                        יאן לנגרמן | 03.05.2024, 10:03

                                        עמותת דיקטה, בשיתוף מפא”ת, האיגוד הישראלי לטכנולוגיות שפת אנוש וצוות חוקרי אינטל הכולל את פטר איזאק, דניאל פליישר, משה ברציאנסקי ומשה וסרבלט הציגו את Dicta-LM 2.0, מודל שפה גדול גנרטיבי (LLM) פתוח לשימוש מסחרי ומחקרי, שהותאם לשימוש במיוחד בשפה העברית לשימושים מגוונים כצ’אטבוט, כלי תרגום ועוד.
                                        מירוץ החימוש הגדול בתחום הבינה המלאכותית הוליד בתקופה האחרונה לא מעט מודלי AI חדשים, דוגמת Gemini של גוגל, Llama 3 של מטא ו-GPT-4 המפעיל את צ’אטבוט ה-ChatGPT של OpenAI. אך בעוד שמודלי ה-AI השונים תמכו ברמה כזו או אחרת בעברית, אף אחד מהם לא נוצר מראש לשימוש בעברית.
                                        את זה נועד לתקן Dicta-LM 2.0, מודל בינה מלאכותית המתבסס על מודל Mistral-7B-v0.1 (של Mistral AI), עם אוסף שיפורים לתאימות גבוהה יותר לשפה העברית על הדקויות והמורכבויות שלה.
                                        המודל עבר אימון על מיליארדי מילים בעברית להבנה טובה יותר של השפה ואימון של כ~190 מיליארד טוקנים (50% עברית ו-50% אנגלית) שבוצע על מאיצי Gaudi 2 של אינטל.
                                        מלבד העובדה כי מודל ה-Dicta-LM 2.0 החדש מותאם לשימוש בעברית, בניגוד למודלי AI מתחרים רבים, הוא זמין להורדה ושימוש חופשיים תחת רישיון ה-Apache 2.0.

                                        8c457009-a008-48c7-b128-547ba20cb7d9-image.png
                                        דמו מודל ה-DictaLM-2.0 (מקור huggingface)

                                        תרגום דיקטה

                                        לצד השימוש ב-Dicta-LM 2.0 כמודל שפה גדול שיכול לשמש להפעלת צ’אטבוטים ועוד, המודל מתאים גם לשימוש ככלי תרגום מאנגלית לעברית ולהפך, עם תוצאות תרגום גבוהות יותר ממתחרים אחרים, בהם מודלים כמו Gemma , Llama ו-Mistral.
                                        לפי הפרסום, העמותה לקחה 1000 משפטים באנגלית ותרגמה אותם לעברית באמצעות המודל החדש וכלי התרגום המוכר של גוגל. בלשן שבדק את התרגומים העדיף את התרגום של Dicta LM-2.0 מאנגלית ב-74.2% מהמקרים (742 לטובת Dicta LM-2 ו-222 לטובת גוגל עם 36 ללא הבדל בתרגום).

                                        1c81bcb1-5375-4db2-825a-e335ef9e56df-image.png
                                        תרגום באמצעות Dicta-LM 2.0 (מקור דיקטה)

                                        מודל ה-DictaLM 2.0 זמין להורדה מאתר huggingface בו הוא גם זמין כצ’אטבוט דמו או בפיצ’ר התרגום מאנגלית לעברית באתר Dicta.

                                        קרדיט

                                        תגובה 1 תגובה אחרונה
                                        3
                                        • sivan22S sivan22 התייחס לנושא זה
                                        • ב בעל שם טוב התייחס לנושא זה

                                        • התחברות

                                        • אין לך חשבון עדיין? הרשמה

                                        • התחברו או הירשמו כדי לחפש.
                                        • פוסט ראשון
                                          פוסט אחרון
                                        0
                                        • חוקי הפורום
                                        • פופולרי
                                        • לא נפתר
                                        • משתמשים
                                        • חיפוש גוגל בפורום
                                        • צור קשר