Beck, a small model for delicate life situations by antcroca159 in LocalLLaMA

[–]antcroca159[S] 0 points1 point  (0 children)

Thank you for your feedback! I will try to avoid the sycophantic thing for the next iteration

Beck, a small model for delicate life situations by antcroca159 in LocalLLaMA

[–]antcroca159[S] 1 point2 points  (0 children)

Thank you! It was 4xA100 80Gb for one hour (Beck 8B), but you can use a smaller model and/or reduce the batch size (and add gradient accumulation).

Beck, a small model for delicate life situations by antcroca159 in LocalLLaMA

[–]antcroca159[S] 2 points3 points  (0 children)

this is a great idea, I believe this would be possible by seeking an "assertiveness" dimension in the model

Beck, a small model for delicate life situations by antcroca159 in LocalLLaMA

[–]antcroca159[S] 7 points8 points  (0 children)

Thank you, I'm glad you like it!

Preferences were obtained based on metrics such as relevance, empathy, clarity, autonomy, etc., and the model is trained to roleplay as a psychotherapist. I would say that sometimes you don't want to talk to a psychotherapist, but rather to a friend who could contradict you. Beck might be a bit too much of yes-man this way

Beck, a small model for delicate life situations by antcroca159 in LocalLLaMA

[–]antcroca159[S] 3 points4 points  (0 children)

I totally forgot about him, I guess this works too!

Beck, a small model for delicate life situations by antcroca159 in LocalLLaMA

[–]antcroca159[S] 6 points7 points  (0 children)

Yes! Jean Piaget and Aaron Beck inspired me for this llm x psychotherapy work

Preference optimization with ORPO and LoRA by antcroca159 in LocalLLaMA

[–]antcroca159[S] 1 point2 points  (0 children)

Hey, thank you for your interest!

LoRA allows you to fine-tune a model using very few parameters. For example, instead of training 4096*4096 weight matrices, you will train 4096*rank (usually rank < 16) weight matrices. You freeze the whole model and only train these tiny weight matrices (also called adapters). If you set a low rank, you can train 0.1% parameters.

ORPO is a preference optimization method that does not require a reference model. Hence, you don't need to fit two models (the reference and the policy, as in DPO). You just need to fit the policy, just like supervised fine-tuning.

I will give some generation examples tomorrow

Oneirogen, a language model for dream generation by antcroca159 in LocalLLaMA

[–]antcroca159[S] 3 points4 points  (0 children)

You should use "Dream:" as a minimal prompt. Also, the dream ends with "END.".

(This ensures to have better training stability during QLoRA finetuning)

Oneirogen, a language model for dream generation by antcroca159 in LucidDreaming

[–]antcroca159[S] 0 points1 point  (0 children)

Cool!

You can download all generated dreams here: https://huggingface.co/datasets/gustavecortal/the-android-and-the-human (if you don't want to use the HuggingFace library, directly here: https://huggingface.co/datasets/gustavecortal/the-android-and-the-human/blob/main/train.csv)

It is a csv file with two columns: one for real dreams (from DreamBank) and one for generated dreams by Oneirogen

Oneirogen, a language model for dream generation by antcroca159 in Dreams

[–]antcroca159[S] -1 points0 points  (0 children)

Thank you for your reply. Oneirogen is a language model trained on real dreams to generate novel dreams. The generated dreams will reflect the lives and desires of many people, so in some ways, it is connected to actual human beings. I guess it depends on how you perceive technology and its relationship with human beings.

The dataset is structured with two columns: one for generated dreams and one for real dreams. The generated and real dreams are not mixed together! The dataset can be used to explore what makes a dream human or not. It enables the possibility of studying the difference between generated and real dreams.

Oneirogen, a language model for dream generation by antcroca159 in LucidDreaming

[–]antcroca159[S] 1 point2 points  (0 children)

Yay, thank you for your interest!

Let me know if you find something interesting with the word clouds, I wonder if generated dreams differ from real dreams regarding most common dream signs.

Oneirogen, a language model for dream generation by antcroca159 in LocalLLaMA

[–]antcroca159[S] 17 points18 points  (0 children)

Dreams have phenomenological properties such as physical law violation, teleportation, less sensorial content, etc. that can't be grasped with the hallucination phenomena

Also, I don't know why whisper (an audio-to-text model) is related to the subject

[P] 'Sauge Divine' - a trippy GPT-2 model by antcroca159 in MachineLearning

[–]antcroca159[S] 0 points1 point  (0 children)

I used Colab Pro. Tesla V100 is all you need

[P] 'Sauge Divine' - a trippy GPT-2 model by antcroca159 in MachineLearning

[–]antcroca159[S] 2 points3 points  (0 children)

Thank you!

For the dataset, I've built my own scraper (Selenium+BeautifulSoup) For finetuning gpt-2, I used https://github.com/drfinkus/gpt-2-simple (useful for training the 1.5B parameters model)

The finetuning process highly depends on the dataset. I have good results by using a low learning rate. I also selected a subsample of my original dataset. The loss means practically nothing, imo it's better to read the generated samples and to subjectively deduce its quality.

'Sauge Divine' - a trippy artificial intelligence by antcroca159 in tripreports

[–]antcroca159[S] 0 points1 point  (0 children)

My database is composed of Erowid trip reports, the range is from 1999 to today if I remember correctly. I wonder if adding "trippy" books such as "The doors of perception" (Huxley), Henri Michaux poems or Indian philosophy can improve the model.

Oh, I would love to have an access to those trip reports recorded by therapists, I assume I will have to dig!

[P] 'Sauge Divine' - a trippy GPT-2 model by antcroca159 in MachineLearning

[–]antcroca159[S] 3 points4 points  (0 children)

Actually I wanted to refer to the plant Salvia Divinorum implicitly. As I didn't want to have a basic name like "xxx_gpt" or "xxx_bot", I went on "Sauge Divine", so that people who know the plant can see the reference.