דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • 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 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • sivan22S sivan22

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

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

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

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

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

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

    sivan22S תגובה 1 תגובה אחרונה
    0
    • האדם החושבה מנותק
      האדם החושבה מנותק
      האדם החושב
      מדריכים
      כתב ב נערך לאחרונה על ידי
      #3

      יש גם את זה [לא ג'נרטיבי]
      ראה עוד כאן

      תגובה 1 תגובה אחרונה
      0
      • ש שמואל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

                                          • התחברות

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

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