AI: Difference between revisions

From 太極
Jump to navigation Jump to search
 
(39 intermediate revisions by the same user not shown)
Line 15: Line 15:
* [https://arxiv.org/abs/2110.12112 Why Machine Learning Cannot Ignore Maximum Likelihood Estimation] van der Laan & Rose 2021
* [https://arxiv.org/abs/2110.12112 Why Machine Learning Cannot Ignore Maximum Likelihood Estimation] van der Laan & Rose 2021


= Learning prompts =
= Prompts =
== Research prompts ==
* [https://medium.com/@KanikaBK/10-high-quality-chatgpt-prompts-that-i-use-to-research-any-topic-370289496adf 10 HIGH QUALITY ChatGPT Prompts that I use to research any Topic]
* [https://medium.com/@Vugar_Ibrahimov/10-chatgpt-and-claude-ai-prompts-for-faster-academic-reading-ece583dd132c 10 ChatGPT and Claude AI Prompts for Faster Academic Reading]
 
== Learning prompts ==
* [https://www.makeuseof.com/how-to-reduce-ai-hallucination/ How to Reduce AI Hallucination With These 6 Prompting Techniques]
* [https://www.makeuseof.com/how-to-reduce-ai-hallucination/ How to Reduce AI Hallucination With These 6 Prompting Techniques]
* [https://www.makeuseof.com/prompting-techniques-to-improve-chatgpt-responses/ 7 Prompting Techniques to Improve Your ChatGPT Responses]
* [https://www.makeuseof.com/prompting-techniques-to-improve-chatgpt-responses/ 7 Prompting Techniques to Improve Your ChatGPT Responses]
Line 62: Line 67:
* [https://github.com/wong2/chat-gpt-google-extension?utm_source=pocket_reader chatGPT google extension] -A browser extension to display ChatGPT response alongside search engine results  
* [https://github.com/wong2/chat-gpt-google-extension?utm_source=pocket_reader chatGPT google extension] -A browser extension to display ChatGPT response alongside search engine results  
* [https://www.makeuseof.com/gpt-models-explained-and-compared/ GPT-1 to GPT-4: Each of OpenAI's GPT Models Explained and Compared]
* [https://www.makeuseof.com/gpt-models-explained-and-compared/ GPT-1 to GPT-4: Each of OpenAI's GPT Models Explained and Compared]
* Tokens
** [https://www.makeuseof.com/what-is-chatgpt-token-limit-can-you-exceed-it/ What Is the ChatGPT Token Limit and Can You Exceed It?]
** https://openai.com/api/pricing/.  0.04 - 2¢ per 1k tokens/words (language models). You can think of tokens as pieces of words, where 1,000 tokens is about 750 words. How much does the OpenAI’s cost per session? About $0.05 to $0.1, if you send 25 to 50 requests. $18.00 free trial. Cost depends on how many words in the input and output  at $0.000002 per word.
* [https://www.makeuseof.com/online-communities-to-learn-about-ai/ 9 Communities for Beginners to Learn About AI Tools]
* [https://www.makeuseof.com/online-communities-to-learn-about-ai/ 9 Communities for Beginners to Learn About AI Tools]


Line 99: Line 100:
** [https://ivelasq.rbind.io/blog/macos-rig/index.html Setting up macOS as an R data science rig in 2023]
** [https://ivelasq.rbind.io/blog/macos-rig/index.html Setting up macOS as an R data science rig in 2023]
** [https://twitter.com/scaffeoa/status/1608643439868141570 Describe 20 possible generative AI use cases in detail across society that could create early impact.]
** [https://twitter.com/scaffeoa/status/1608643439868141570 Describe 20 possible generative AI use cases in detail across society that could create early impact.]
== Live voice ==
[https://www.makeuseof.com/ways-use-chatgpt-live-voice-and-vision/ 7 Interesting Ways You Can Use ChatGPT's Live Voice and Vision]


== API, Extension tools ==
== API, Extension tools ==
Line 106: Line 110:
* [https://chrome.google.com/webstore/detail/merlin-chatgpt-assistant/camppjleccjaphfdbohjdohecfnoikec Merlin ChatGPT Assistant for all Websites]
* [https://chrome.google.com/webstore/detail/merlin-chatgpt-assistant/camppjleccjaphfdbohjdohecfnoikec Merlin ChatGPT Assistant for all Websites]
* [https://chrome.google.com/webstore/detail/chatgpt-writer-write-mail/pdnenlnelpdomajfejgapbdpmjkfpjkp ChatGPT Writer - Write mail, messages with AI]
* [https://chrome.google.com/webstore/detail/chatgpt-writer-write-mail/pdnenlnelpdomajfejgapbdpmjkfpjkp ChatGPT Writer - Write mail, messages with AI]
* Tokens
** [https://www.makeuseof.com/what-is-chatgpt-token-limit-can-you-exceed-it/ What Is the ChatGPT Token Limit and Can You Exceed It?]
** https://openai.com/api/pricing/.  0.04 - 2¢ per 1k tokens/words (language models). You can think of tokens as pieces of words, where 1,000 tokens is about 750 words. How much does the OpenAI’s cost per session? About $0.05 to $0.1, if you send 25 to 50 requests. $18.00 free trial. Cost depends on how many words in the input and output  at $0.000002 per word.
** [https://puppycoding.com/2023/08/25/openai-api-key-guide/ Unofficial Guide to OpenAI API Keys]
* [https://github.com/cheahjs/free-llm-api-resources Free LLM API resources]


== Create your GPT ==
== Create your GPT ==
Line 111: Line 120:


== call from R ==
== call from R ==
* [https://www.sumsar.net/blog/call-chatgpt-from-r/ Call ChatGPT (or really any other API) from R]
<ul>
* [https://github.com/samterfa/openai openai]-This R package provides an SDK to the Open AI API  
<li>[https://www.sumsar.net/blog/call-chatgpt-from-r/ Call ChatGPT (or really any other API) from R]
* [https://cran.r-project.org/web/packages/openai/index.html openai] package from CRAN & [https://github.com/irudnyts/openai github]
<li>[https://github.com/samterfa/openai openai]-This R package provides an SDK to the Open AI API  
* [https://cran.r-project.org/web/packages/askgpt/index.html askgpt] package
<li>[https://cran.r-project.org/web/packages/openai/index.html openai] package from CRAN & [https://github.com/irudnyts/openai github]
* [https://shiny.posit.co/blog/posts/shiny-on-hugging-face/ Shiny on Hugging Face]
<li>[https://cran.r-project.org/web/packages/askgpt/index.html askgpt] package
* [https://mlverse.github.io/chattr/ chattr] package -Interact with Large Language Models in 'RStudio'.
<li>[https://shiny.posit.co/blog/posts/shiny-on-hugging-face/ Shiny on Hugging Face]
** [https://cran.r-project.org/web//packages/chattr/index.html CRAN].
<li>[https://mlverse.github.io/chattr/ chattr] package -Interact with Large Language Models in 'RStudio'.
** [https://blogs.rstudio.com/ai/posts/2024-04-04-chat-with-llms-using-chattr/ Chat with AI in RStudio].
* [https://cran.r-project.org/web//packages/chattr/index.html CRAN].
** [https://www.business-science.io/code-tools/2024/05/11/chattr-chatgpt-in-r.html How to Get ChatGPT in R with chattr]
* [https://blogs.rstudio.com/ai/posts/2024-04-04-chat-with-llms-using-chattr/ Chat with AI in RStudio].
* [https://www.business-science.io/code-tools/2024/05/11/chattr-chatgpt-in-r.html How to Get ChatGPT in R with chattr]
<li>[https://ellmer.tidyverse.org/ ellmer]. I tested it on Manjaro OS VM with 4GB ram and 4 cpu.
<syntaxhighlight lang='sh'>
sudo pacman -S openssh
sudo systemctl start sshd
sudo systemctl enable sshd
 
sudo pacman -S lapack blas
sudo pacman -Sy r
sudo pacman -S base-devel
</syntaxhighlight>
R
<syntaxhighlight lang='sh'>
install.packages("ellmer", repos = "https://cloud.r-project.org")
library(ellmer)
chat <- chat_ollama(model = "llama3.2:1b")
chat$chat("Tell me a joke")
live_console(chat) # seems not working on ollama
</syntaxhighlight>
 
<li>Connect to '''[[AI#LM_Studio|LM Studio]]''' for local hosting
<li>[https://www.r-bloggers.com/2024/12/harnessing-azure-openai-and-r-for-web-content-summarisation-a-practical-guide-with-rvest-and-tidyverse/ Harnessing Azure OpenAI and R for Web Content Summarisation: A Practical Guide with rvest and tidyverse]
<li>[https://www.tidyverse.org/blog/2025/01/experiments-llm/ Three experiments in LLM code assist with RStudio and Positron]
</ul>


== call from Python ==
== call from Python ==
Line 163: Line 196:
* [https://www.howtogeek.com/ai-tools-to-analyze-pdfs-for-free/ 5 AI Tools to Analyze PDFs For Free]. ChatGPT, Claude, Perplexity AI, Copilot, HuggingChat.
* [https://www.howtogeek.com/ai-tools-to-analyze-pdfs-for-free/ 5 AI Tools to Analyze PDFs For Free]. ChatGPT, Claude, Perplexity AI, Copilot, HuggingChat.
* [https://blog.stephenturner.us/p/biorecap-r-package-for-summarizing-biorxiv-preprints-local-llm biorecap: an R package for summarizing bioRxiv preprints with a local LLM]
* [https://blog.stephenturner.us/p/biorecap-r-package-for-summarizing-biorxiv-preprints-local-llm biorecap: an R package for summarizing bioRxiv preprints with a local LLM]
* [https://www.howtogeek.com/chat-with-your-pdfs-in-google-drive/ You Can Now Chat With Your PDFs in Google Drive—Here’s How]


== Word ==
== Word ==
[https://www.makeuseof.com/automate-document-creation-with-chatgpt-in-word/ How to Automate Your Document Creation With ChatGPT in Microsoft Word]
* [https://www.makeuseof.com/automate-document-creation-with-chatgpt-in-word/ How to Automate Your Document Creation With ChatGPT in Microsoft Word]
* [https://www.onlyoffice.com/ai-assistants.aspx OnlyOffice AI assistants]
** [https://www.tecmint.com/gpt4all-ai-editing-in-onlyoffice/ AI Document Editing: Connect GPT4All to ONLYOFFICE on Ubuntu]
** It works. I tested on a Ubuntu Mate 24.04.1 VM (4 Host CPUs) and 8GB RAM. I am using the Llama 3.2 3B instruct model. The AI settings allow us to possibly select different models for different tasks: 1) '''Ask AI''', 2) '''Summarization''', 3) '''Translation''', 4) '''Text analysis'''. We can also select to rewrite differently or make the text longer or shorter.
** Note that the original text could be overwritten by AI.


== Research ==
== Research ==
Line 194: Line 232:
* [https://www.makeuseof.com/gptzero-detect-ai-generated-text/ What Is GPTZero? How to Use It to Detect AI-Generated Text]
* [https://www.makeuseof.com/gptzero-detect-ai-generated-text/ What Is GPTZero? How to Use It to Detect AI-Generated Text]
* [https://readmedium.com/words-and-phrases-that-show-chatgpt-generated-it-ca7e28ae8e8f Words and Phrases That Show ChatGPT Generated It]
* [https://readmedium.com/words-and-phrases-that-show-chatgpt-generated-it-ca7e28ae8e8f Words and Phrases That Show ChatGPT Generated It]
* [https://medium.com/the-writers-pub/15-signs-that-ai-wrote-it-9bc37e165973 11 Signs That AI Wrote It]


== Youtube summary ==
== Youtube summary ==
Line 204: Line 243:
[https://www.howtogeek.com/4-ai-search-engines-i-use-every-day/ 4 AI Search Engines I Use Every Day]. Perplexity, Exa, You AI, Andi AI.
[https://www.howtogeek.com/4-ai-search-engines-i-use-every-day/ 4 AI Search Engines I Use Every Day]. Perplexity, Exa, You AI, Andi AI.


== Google Bard ==
== Google Gemini ==
* [https://blog.google/technology/ai/code-with-bard/ Bard now helps you code] 4/21/2023
* [https://blog.google/technology/ai/code-with-bard/ Bard now helps you code] 4/21/2023
* [https://lifehacker.com/set-up-google-bard-extensions-1850853309 You Can Now Connect Bard to Gmail, Google Docs, YouTube, and More]
* [https://lifehacker.com/set-up-google-bard-extensions-1850853309 You Can Now Connect Bard to Gmail, Google Docs, YouTube, and More]
* [https://aistudio.google.com/  Google AI Studio]
** [https://aistudio.google.com/plan_information API Plan Billing Information]
** [https://www.youtube.com/watch?v=3cvczHJSRNs The End of Tutorials? This Free AI Changes How You Learn Software Forever | Google AI Studio] (video)
== Microsoft Copilot ==
* [https://www.youtube.com/watch?v=sdN7C8xRoH4 Microsoft Copilot Tips and Tricks to Boost Your Productivity]


== perplexity.ai ==
== perplexity.ai ==
https://www.perplexity.ai/
* https://www.perplexity.ai/
* [https://youtu.be/ZC3L94U0_sc 為什麼科技巨頭都愛用 Perplexity?]


== You.com ==
== You.com ==
Line 227: Line 273:


=== ollamar R package ===
=== ollamar R package ===
[https://www.r-bloggers.com/2024/08/use-r-to-prompt-a-local-llm-with-ollamar/ Use R to prompt a local LLM with ollamar]
* https://hauselin.github.io/ollama-r/
* [https://www.r-bloggers.com/2024/08/use-r-to-prompt-a-local-llm-with-ollamar/ Use R to prompt a local LLM with ollamar]


== Open source chats ==
== Open source chats ==
Line 252: Line 299:
* [https://www.xda-developers.com/run-local-llms-mac-windows-lm-studio/ Run local LLMs with ease on Mac and Windows thanks to LM Studio]
* [https://www.xda-developers.com/run-local-llms-mac-windows-lm-studio/ Run local LLMs with ease on Mac and Windows thanks to LM Studio]
* [https://www.youtube.com/watch?v=NP0s7T9Mou8 Llama3 一键本地部署 !无需GPU !100% 保证成功,轻松体验 Meta 最新的 8B、70B AI大模型!]
* [https://www.youtube.com/watch?v=NP0s7T9Mou8 Llama3 一键本地部署 !无需GPU !100% 保证成功,轻松体验 Meta 最新的 8B、70B AI大模型!]
* R
** [https://martinctc.github.io/blog/summarising-top-100-uk-climbs-running-local-language-models-with-lm-studio-and-r/ Summarising Top 100 UK Climbs: Running Local Language Models with LM Studio and R]


== Ollama ==
== Ollama ==
* [https://readmedium.com/step-by-step-guide-to-running-latest-llm-model-meta-llama-3-on-apple-silicon-macs-m1-m2-or-m3-b9424ada6840 Step-by-Step Guide to Running Latest LLM Model Meta Llama 3 on Apple Silicon Macs (M1, M2 or M3)]
<ul>
<li>https://github.com/ollama/ollama
* [https://github.com/ollama/ollama/blob/main/docs/faq.md? FAQ] like How do I configure Ollama server? '''Environment="OLLAMA_HOST=0.0.0.0" '''
* For example when I try Llama 3.2 1B model on 4GB (now I extend it to 8GB) Manjaro VM using 4 vCPU, the total memory including the xfce desktop is 2.27G.
 
<li>Issue: Did not get a response.
* If it took too long, I can use Ctrl+C to stop.
* Even after I quit ollama, a "ollama runner" process is still running. So I run "ps -ef | grep ollama" and use "sudo kill -9 XXXX" for the "ollama runner" PID. But a better way is to use '''ollama stop MODEL_NAME'''. See '''How do I keep a model loaded in memory or make it unload immediately?''' in [https://github.com/ollama/ollama/blob/main/docs/faq.md FAQ].
 
<li>My notes. llama3.1:8b is better than Phi3/Phi4 (14b).
<syntaxhighlight lang='sh'>
$ ollama list
NAME              ID              SIZE      MODIFIED   
qwen2:1.5b        f6daf2b25194    934 MB    6 days ago   
phi3:3.8b          4f2222927938    2.2 GB    6 days ago   
llama3.1:8b        46e0c10c039e    4.9 GB    6 days ago   
llama3.2:latest    a80c4f17acd5    2.0 GB    6 days ago   
llama3.2:1b        baf6a787fdff    1.3 GB    2 weeks ago
 
$ ollama run --verbose qwen2:1.5b
>>> what is lincoln memorial
...
total duration:      1m14.068603383s
load duration:        19.23796ms
prompt eval count:    13 token(s)
prompt eval duration: 2.348s
prompt eval rate:    5.54 tokens/s
eval count:          297 token(s)
eval duration:        1m11.699s
eval rate:            4.14 tokens/s
>>> /bye
 
$ ollama run --verbose phi3:3.8b
>>> what is lincoln memorial
...
total duration:      1m33.270810903s
load duration:        14.566152ms
prompt eval count:    15 token(s)
prompt eval duration: 7.383s
prompt eval rate:    2.03 tokens/s
eval count:          160 token(s)
eval duration:        1m25.872s
eval rate:            1.86 tokens/s
>>> /bye
</syntaxhighlight>
 
<li>[https://www.restack.io/p/ollama-answer-ollama-guidance-cat-ai Ollama Guidance for Effective Use]
 
<li>Vision:
* [https://ollama.com/blog/llama3.2-vision Llama 3.2 Vision]
* [https://medium.com/@tapanbabbar/how-to-run-llama-3-2-vision-on-ollama-a-game-changer-for-edge-ai-80cb0e8d8928 How to Run Llama 3.2-Vision Locally With Ollama: A Game Changer for Edge AI]
 
<li>If you want to [https://dev.to/hamed0406/how-to-change-place-of-saving-models-on-ollama-4ko8 change the default location] where Ollama saves its models, you can set the '''OLLAMA_MODELS''' environment variable to your desired directory. To do this:
* Open a terminal
* Run: '''sudo systemctl edit ollama.service'''
* Add the following line under the [Service] section & Save and exit the editor: '''Environment="OLLAMA_MODELS=/path/to/new/location" '''
* Reload the daemon: '''sudo systemctl daemon-reload'''
* Restart Ollama: '''sudo systemctl restart ollama'''
 
<li>GPU:
* [https://www.containerssimplified.com/container/running-ollama-on-your-local-machine-with-nvidia-gpus/ Running Ollama on Your Local Machine with NVIDIA GPUs]
* [https://jamesravey.medium.com/self-hosting-llama-3-on-a-home-server-00feeeba8174 Self-hosting Llama 3 on a home server]
* [https://jamesravey.medium.com/self-hosting-llama-3-on-a-home-server-00feeeba8174 Self-hosting Llama 3 on a home server]
<li>Raspberry Pi 5:
* [https://fleetstack.io/blog/running-open-llm-models-on-raspberry-pi-5-with-ollama Running Open LLM Models on Raspberry Pi 5 with Ollama]
* [https://fleetstack.io/blog/running-open-llm-models-on-raspberry-pi-5-with-ollama Running Open LLM Models on Raspberry Pi 5 with Ollama]
* [https://itsfoss.com/raspberry-pi-ollama-ai-setup/ Run LLMs Locally on Raspberry Pi Using Ollama AI]
* [https://itsfoss.com/raspberry-pi-ollama-ai-setup/ Run LLMs Locally on Raspberry Pi Using Ollama AI]
* [https://ubuntushell.com/install-alpaca-on-linux/ Alpaca]: A Linux GUI App to Manage Multiple AI Models Offline
 
<li>[https://ubuntushell.com/install-alpaca-on-linux/ Alpaca]: A Linux GUI App to Manage Multiple AI Models Offline
</ul>


== GPT4ALL ==
== GPT4ALL ==
* [https://youtu.be/kqz4nDcKctg?si=XCe-XbsoUieODjVT&t=76 Phi-3 开源大模型本地部署!能否媲美 ChatGPT、Cladue 3?]
* [https://youtu.be/kqz4nDcKctg?si=XCe-XbsoUieODjVT&t=76 Phi-3 开源大模型本地部署!能否媲美 ChatGPT、Cladue 3?]
* [https://www.howtogeek.com/heres-how-to-install-your-own-uncensored-local-gpt-like-chatbot/ Here's How To Install Your Own Uncensored Local GPT-Like Chatbot]
* [https://www.howtogeek.com/heres-how-to-install-your-own-uncensored-local-gpt-like-chatbot/ Here's How To Install Your Own Uncensored Local GPT-Like Chatbot]
* My testing:
** Use my user account to install it, not to use 'sudo'. The installation will create a folder 'gpt4all' under my home directory.
** VM is not working if we use vCPU. It shows Encountered an error starting up: "Incompatible hardware detected." Unfortunately, your CPU does not meet the minimal requirements to run this program. In particular, it does not support AVX intrinsics which this program required to successfully run a modern large language model. ... The solution is to use edit the hardware to use '''host cpu'''.
== Remote access ==
* [https://github.com/open-webui/open-webui Open-Webui]
= Build LLM =
* [https://levelup.gitconnected.com/building-a-2-billion-parameter-llm-from-scratch-using-python-1325cb05d6fb Building a 2 Billion Parameter LLM from Scratch Using Python]
* [https://www.youtube.com/watch?v=s1uFVfuT2aw Train an LLM From Scratch On NVIDIA Jetson Nano (Step-by-Step Guide)]


= Browser  =
= Browser  =
Line 271: Line 393:
* [https://www.makeuseof.com/what-is-bert-language-model-how-differ-gpt/ What Is the BERT Natural Language Processing Model and How Does It Differ From GPT?]
* [https://www.makeuseof.com/what-is-bert-language-model-how-differ-gpt/ What Is the BERT Natural Language Processing Model and How Does It Differ From GPT?]
* [https://www.makeuseof.com/gpt-vs-bert/ GPT vs. BERT: What Are the Differences Between the Two Most Popular Language Models?]
* [https://www.makeuseof.com/gpt-vs-bert/ GPT vs. BERT: What Are the Differences Between the Two Most Popular Language Models?]
= LLM =
[https://towardsdatascience.com/understanding-llms-from-scratch-using-middle-school-math-e602d27ec876 Understanding LLMs from Scratch Using Middle School Math]


= AI, ML and DL =
= AI, ML and DL =
Line 279: Line 404:
* https://mistral.ai/news/codestral/
* https://mistral.ai/news/codestral/
** [https://www.maginative.com/article/mistral-unveils-codestral-an-ai-code-assistant-trained-on-80-programming-languages/ Mistral Unveils Codestral, an AI Code Assistant Trained on 80+ Programming Languages] 5/29/2024
** [https://www.maginative.com/article/mistral-unveils-codestral-an-ai-code-assistant-trained-on-80-programming-languages/ Mistral Unveils Codestral, an AI Code Assistant Trained on 80+ Programming Languages] 5/29/2024
* [https://bsky.app/profile/stephenturner.us/post/3lbf4qmvrxk2f Writing a browser extension] using Claude 3.5 Sonnet.


= Images =
= Images =
Line 291: Line 417:
* [https://www.youtube.com/watch?v=zOI8ePbTUSs 重磅炸弹!Stable Diffusion 3 终于开源了!] 2024/7
* [https://www.youtube.com/watch?v=zOI8ePbTUSs 重磅炸弹!Stable Diffusion 3 终于开源了!] 2024/7
* [https://www.kenkoonwong.com/blog/2024-09-01-stable-diffusion-3-in-r-why-not-thanks-to-reticulate/ Stable Diffusion 3 in R? Why not? Thanks to {reticulate}] 2024/9/1
* [https://www.kenkoonwong.com/blog/2024-09-01-stable-diffusion-3-in-r-why-not-thanks-to-reticulate/ Stable Diffusion 3 in R? Why not? Thanks to {reticulate}] 2024/9/1
* Run it locally
** [https://github.com/AUTOMATIC1111/stable-diffusion-webui Stable Diffusion web UI]


== Describe images ==
== Describe images ==
Line 302: Line 430:
* [https://youtu.be/OpYYFGJPr0A 超逼真的AI数字人,一键免费生成教程!还能克隆你自己,用这2个网站即可轻松搞定!!] 5/21/2023 零度解说
* [https://youtu.be/OpYYFGJPr0A 超逼真的AI数字人,一键免费生成教程!还能克隆你自己,用这2个网站即可轻松搞定!!] 5/21/2023 零度解说
* [https://www.youtube.com/watch?v=5KC4wFTLq3E 零基礎入門 全流程AI做兒童動畫頻道,月賺1w美元|解決人物一致+嘴形問題|Creating animation channel with AI]
* [https://www.youtube.com/watch?v=5KC4wFTLq3E 零基礎入門 全流程AI做兒童動畫頻道,月賺1w美元|解決人物一致+嘴形問題|Creating animation channel with AI]
* [https://github.com/comfyanonymous/ComfyUI ComfyUI]
** [https://www.youtube.com/watch?v=v3UPg9sqIj0 视频换脸最强神器!效果极佳,完全免费,ComfyUI 官方客户端一键搞定!]


= Music =
= Music =

Latest revision as of 20:11, 30 January 2025

人類如何勝過AI

人類如何勝過AI?

Applications

Prompts

Research prompts

Learning prompts

  • How to Learn Python FAST with ChatGPT?
    • Can you create a roadmap to learn python for data analysis
    • Can you create a roadmap to learn python for data analysis in 3 months with weekly plan and resources for learning
    • Can you create a roadmap to learn python for data analysis in 3 months with weekly plan, including resources and links for each week and youtube video links
    • Explain while loop in python to a child
  • How to learn to code FAST using ChatGPT
    • Give me a study plan to learn python for data science
    • Give me a study plan to learn python for data science with resources and a timeline
    • Sublime is used
    • (After ask a question and get an answer). Let's take this step by step.
  • Ask generative AI to be that colleague. Ask 'As a physicist, describe how cancer cells interact with their environment', or 'As a chemist..', 'As a developmental biologist..', 'As an economist..' 'As an electrician.' ...

Carbon footprint

Free AI isn’t sustainable — and we’ll be paying for it soon enough.

ChatGPT

https://chat.openai.com, https://openai.com/blog/chatgpt-plus/

Down

Network error

Network recommendations for ChatGPT errors on web and apps

Plugins

How to Enable ChatGPT’s Web Browsing and Plugins

Use

Live voice

7 Interesting Ways You Can Use ChatGPT's Live Voice and Vision

API, Extension tools

Create your GPT

How I Stopped Procrastinating with ChatGPT — 2 Hours Saved Each Day!

call from R

call from Python

Jupyter-ai

A generative AI extension for JupyterLab

Bing chat

It's been 18 days but Bing chat says R 4.3.0 is not yet released. It says the latest version of R is 4.1.3. The default conversion style is balanced (blue). After I changed it to more precise (green), the results are right.

DuckDuckGo

https://duck.ai

Brave AI chatbot: Leo

Everything You Need to Know About Leo: Brave Browser’s AI Chatbot

GPT-4

GPT-4o

Alternatives

PDF

Word

Research

Content writer

Detect AI text

Youtube summary

Chrome extension YouTube Summary with ChatGPT from 8 AI-Powered Chrome Extensions to Summarize YouTube Videos

AutoGPT

How to Download and Install Auto-GPT Step-by-Step

Other chats

4 AI Search Engines I Use Every Day. Perplexity, Exa, You AI, Andi AI.

Google Gemini

Microsoft Copilot

perplexity.ai

You.com

You.com’s AI-infused Google rival provides a tantalizing glimpse of the future

Claude

Meta's LLaMA

ollamar R package

Open source chats

Run locally

Jan

LM Studio

Ollama

  • https://github.com/ollama/ollama
    • FAQ like How do I configure Ollama server? Environment="OLLAMA_HOST=0.0.0.0"
    • For example when I try Llama 3.2 1B model on 4GB (now I extend it to 8GB) Manjaro VM using 4 vCPU, the total memory including the xfce desktop is 2.27G.
  • Issue: Did not get a response.
    • If it took too long, I can use Ctrl+C to stop.
    • Even after I quit ollama, a "ollama runner" process is still running. So I run "ps -ef | grep ollama" and use "sudo kill -9 XXXX" for the "ollama runner" PID. But a better way is to use ollama stop MODEL_NAME. See How do I keep a model loaded in memory or make it unload immediately? in FAQ.
  • My notes. llama3.1:8b is better than Phi3/Phi4 (14b).
    $ ollama list
    NAME               ID              SIZE      MODIFIED    
    qwen2:1.5b         f6daf2b25194    934 MB    6 days ago     
    phi3:3.8b          4f2222927938    2.2 GB    6 days ago     
    llama3.1:8b        46e0c10c039e    4.9 GB    6 days ago     
    llama3.2:latest    a80c4f17acd5    2.0 GB    6 days ago     
    llama3.2:1b        baf6a787fdff    1.3 GB    2 weeks ago
    
    $ ollama run --verbose qwen2:1.5b
    >>> what is lincoln memorial
    ...
    total duration:       1m14.068603383s
    load duration:        19.23796ms
    prompt eval count:    13 token(s)
    prompt eval duration: 2.348s
    prompt eval rate:     5.54 tokens/s
    eval count:           297 token(s)
    eval duration:        1m11.699s
    eval rate:            4.14 tokens/s
    >>> /bye
    
    $ ollama run --verbose phi3:3.8b
    >>> what is lincoln memorial
    ...
    total duration:       1m33.270810903s
    load duration:        14.566152ms
    prompt eval count:    15 token(s)
    prompt eval duration: 7.383s
    prompt eval rate:     2.03 tokens/s
    eval count:           160 token(s)
    eval duration:        1m25.872s
    eval rate:            1.86 tokens/s
    >>> /bye
  • Ollama Guidance for Effective Use
  • Vision:
  • If you want to change the default location where Ollama saves its models, you can set the OLLAMA_MODELS environment variable to your desired directory. To do this:
    • Open a terminal
    • Run: sudo systemctl edit ollama.service
    • Add the following line under the [Service] section & Save and exit the editor: Environment="OLLAMA_MODELS=/path/to/new/location"
    • Reload the daemon: sudo systemctl daemon-reload
    • Restart Ollama: sudo systemctl restart ollama
  • GPU:
  • Raspberry Pi 5:
  • Alpaca: A Linux GUI App to Manage Multiple AI Models Offline

GPT4ALL

Remote access

Build LLM

Browser

BERT

LLM

Understanding LLMs from Scratch Using Middle School Math

AI, ML and DL

AI, ML and DL: What’s the Difference?

Coding

Images

Drawing

Describe images

GeoSpy

https://geospy.web.app/

Videos

Music

Text to/from speech

Bioinformatics

AI and statistics

Artificial Intelligence and Statistics: Just the Old Wine in New Wineskins? Faes 2022

What are the most important statistical ideas of the past 50 years

Four Deep Learning Papers to Read in June 2021

Neural network

Types of artificial neural networks

https://en.wikipedia.org/wiki/Types_of_artificial_neural_networks

neuralnet package

nnet package

sauron package

Explaining predictions of Convolutional Neural Networks with 'sauron' package

OneR package

So, what is AI really?

h2o package

https://cran.r-project.org/web/packages/h2o/index.html

shinyML package

shinyML - Compare Supervised Machine Learning Models Using Shiny App

LSBoost

Explainable 'AI' using Gradient Boosted randomized networks Pt2 (the Lasso)

LightGBM/Light Gradient Boosting Machine

Survival data

Simulated neural network

Simulated Neural Network with Bootstrapping Time Series Data

Languages

GitHub: The top 10 programming languages for machine learning

Keras (high level library)

Keras is a model-level library, providing high-level building blocks for developing deep-learning models. It doesn’t handle low-level operations such as tensor manipulation and differentiation. Instead, it relies on a specialized, well-optimized tensor library to do so, serving as the backend engine of Keras.

Currently, the three existing backend implementations are the TensorFlow backend, the Theano backend, and the Microsoft Cognitive Toolkit (CNTK) backend.

On Ubuntu, we can install required packages by

$ sudo apt-get install build-essential cmake git unzip \
                  pkg-config libopenblas-dev liblapack-dev
$ sudo apt-get install python-numpy python-scipy python- matplotlib python-yaml
$ sudo apt-get install libhdf5-serial-dev python-h5py
$ sudo apt-get install graphviz
$ sudo pip install pydot-ng
$ sudo apt-get install python-opencv

$ sudo pip install tensorflow  # CPU only
$ sudo pip install tensorflow-gpu # GPU support

$ sudo pip install theano

$ sudo pip install keras
$ python -c "import keras; print keras.__version__"
$ sudo pip install --upgrade keras  $ Upgrade Keras

To configure the backend of Keras, see Introduction to Python Deep Learning with Keras.

Example 1: DeepDecon.

  • Model Definition: In train_model.py, model = Sequential() defines a neural network model using the Keras Sequential API. It adds several dense (fully connected) layers with dropout for regularization. The activation function is set to ReLU for hidden layers and sigmoid or softmax for the output layer, depending on the number of output classes.
  • Model Compilation: self.model.compile(loss=self.loss, optimizer=self.optimizer, metrics=[rmse, 'mse', metrics.mae]) compiles the model, specifying the loss function, optimizer, and evaluation metrics. The custom RMSE function is included as one of the metrics.
  • Model Training: history = self.model.fit(X_tr, y_tr, batch_size=self.batch_size, epochs=self.epochs, validation_data=validation_data, callbacks=callbacks, shuffle=True, verbose=verbose) trains the model on the training data (X_tr, y_tr) with specified batch size and number of epochs. It also uses validation data for early stopping if enabled.
  • Early Stopping: if self.early_stopping sets up early stopping to prevent overfitting by monitoring the validation loss and stopping training if it doesn’t improve for a specified number of epochs.

In the eval.py code,

  • Loading Models models = {} This section loads pre-trained models from specified paths and stores them in a dictionary. The custom RMSE function is used during model loading.
  • Calculating Differences def get_difference() This function calculates the differences between the true labels and the predicted labels. It returns the minimum and maximum differences, as well as the difference array.
  • Single Prediction: def get_single_prediction() This function performs a single prediction by iteratively refining the prediction interval until it stabilizes.
  • Batch Prediction: def get_prediction() This function performs predictions for a batch of input data by calling "get_single_prediction" for each input sample.
  • Main Function: This section sets up argument parsing, loads the test data, performs predictions, and saves the results to a specified file.

TensorFlow (backend library)

Basic

Some terms

Machine Learning Glossary from developers.google.com

Tensor

Tensors for Neural Networks, Clearly Explained!!!

Dense layer and dropout layer

In Keras, what is a "dense" and a "dropout" layer?

Fully-connected layer (= dense layer). You can choose "relu" or "sigmoid" or "softmax" activation function.

Activation function

  • Artificial neural network -> Neural networks as functions [math]\displaystyle{ \textstyle f (x) = K \left(\sum_i w_i g_i(x)\right) }[/math] where K (commonly referred to as the activation function) is some predefined function, such as the hyperbolic tangent or sigmoid function or softmax function or rectifier function.
  • Rectifier/ReLU f(x) = max(0, x).
  • Sigmoid. Binary problem. Logistic function and hyperbolic tangent tanh(x) are two examples of sigmoid functions.
  • Softmax. Multiclass classification.

Backpropagation

https://en.wikipedia.org/wiki/Backpropagation

Convolutional network

https://en.wikipedia.org/wiki/Convolutional_neural_network

Deep Learning with Python

Jupyter notebooks for the code samples of the book "Deep Learning with Python"

sudo apt install python3-pip python3-dev

sudo apt install build-essential cmake git unzip \
   pkg-config libopenblas-dev liblapack-dev
sudo apt-get install python3-numpy python3-scipy python3-matplotlib \
   python3-yaml
sudo apt install libhdf5-serial-dev python3-h5py
sudo apt install graphviz
sudo pip3 install pydot-ng

# sudo apt-get install python-opencv
# https://stackoverflow.com/questions/37188623/ubuntu-how-to-install-opencv-for-python3
# https://askubuntu.com/questions/783956/how-to-install-opencv-3-1-for-python-3-5-on-ubuntu-16-04-lts

sudo pip3 install keras

Colorize black-and-white photos

Colorize black-and-white photos

Keras using R

Training process:

  1. Draw a batch of X and Y
  2. Run the network on x (a step called the forward pass) to obtain predictions y_pred.
    • How many layers to use.
    • How many “hidden units” to chose for each layer.
  3. Compute the loss of the network on the batch
    • loss
    • optimizer: determines how learning proceeds (how the network will be updated based on the loss function). It implements a specific variant of stochastic gradient descent (SGD).
    • metrics
  4. Update all weights of the network in a way that slightly reduces the loss on this batch.
    • batch_size
    • epochs (=iteration over all samples in a batch_size of samples)

Keras (in order to use Keras, you need to install TensorFlow or CNTK or Theano):

  1. Define your training data: input tensors and target tensors.
  2. Define a network of layers (or model). Two ways to define a model:
    1. using the keras_model_sequential() function (only for linear stacks of layers, which is the most common network architecture by far) or
      model <- keras_model_sequential() %>%
        layer_dense(units = 32, input_shape = c(784)) %>%
        layer_dense(units = 10, activation = "softmax")
    2. the functional API (for directed acyclic graphs of layers, which let you build completely arbitrary architectures)
      input_tensor <- layer_input(shape = c(784))
      
      output_tensor <- input_tensor %>%
        layer_dense(units = 32, activation = "relu") %>%
        layer_dense(units = 10, activation = "softmax")
      
      model <- keras_model(inputs = input_tensor, outputs = output_tensor)
  3. Compile the learning process by choosing a loss function, an optimizer, and some metrics to monitor.
    model %>% compile(
      optimizer = optimizer_rmsprop(lr = 0.0001),
      loss = "mse",
      metrics = c("accuracy")
    )
  4. Iterate on your training data by calling the fit() method of your model.
    model %>% fit(input_tensor, target_tensor, batch_size = 128, epochs = 10)

Custom loss function

Custom Loss functions for Deep Learning: Predicting Home Values with Keras for R

Metrics

https://machinelearningmastery.com/custom-metrics-deep-learning-keras-python/

Docker RStudio IDE

Assume we are using rocker/rstudio IDE, we need to install some packages first in the OS.

$ docker run -d -p 8787:8787 -e USER=XXX -e PASSWORD=XXX --name rstudio rocker/rstudio

$ docker exec -it rstudio bash
# apt update
# apt install python-pip python-dev
# pip install virtualenv

And then in R,

install.packages("keras")
library(keras)
install_keras(tensorflow = "1.5")

Use your own Dockerfile

Data Science for Startups: Containers Building reproducible setups for machine learning

Some examples

See Tensorflow for R from RStudio for several examples.

Binary data (Chapter 3.4)

  • The final layer will use a sigmoid activation so as to output a probability (a score between 0 and 1, indicating how likely the sample is to have the target “1”.
  • A relu (rectified linear unit) is a function meant to zero-out negative values, while a sigmoid “squashes” arbitrary values into the [0, 1] interval, thus outputting something that can be interpreted as a probability.
library(keras)
imdb <- dataset_imdb(num_words = 10000)
c(c(train_data, train_labels), c(test_data, test_labels)) %<-% imdb

# Preparing the data
vectorize_sequences <- function(sequences, dimension = 10000) {...}
x_train <- vectorize_sequences(train_data)
x_test <- vectorize_sequences(test_data)
y_train <- as.numeric(train_labels)
y_test <- as.numeric(test_labels)

# Build the network
## Two intermediate layers with 16 hidden units each
## The final layer will output the scalar prediction
model <- keras_model_sequential() %>% 
  layer_dense(units = 16, activation = "relu", input_shape = c(10000)) %>% 
  layer_dense(units = 16, activation = "relu") %>% 
  layer_dense(units = 1, activation = "sigmoid")
model %>% compile(
  optimizer = "rmsprop",
  loss = "binary_crossentropy",
  metrics = c("accuracy")
)
model %>% fit(x_train, y_train, epochs = 4, batch_size = 512)
## Error in py_call_impl(callable, dots$args, dots$keywords) : MemoryError: 
## 10.3GB memory is necessary on my 16GB machine

# Validation
results <- model %>% evaluate(x_test, y_test)

# Prediction on new data
model %>% predict(x_test[1:10,])

Multi class data (Chapter 3.5)

  • Goal: build a network to classify Reuters newswires into 46 different mutually-exclusive topics.
  • You end the network with a dense layer of size 46. This means for each input sample, the network will output a 46-dimensional vector. Each entry in this vector (each dimension) will encode a different output class.
  • The last layer uses a softmax activation. You saw this pattern in the MNIST example. It means the network will output a probability distribution over the 46 different output classes: that is, for every input sample, the network will produce a 46-dimensional output vector, where outputi is the probability that the sample belongs to class i. The 46 scores will sum to 1.
library(keras)
reuters <- dataset_reuters(num_words = 10000)
c(c(train_data, train_labels), c(test_data, test_labels)) %<-% reuters

model <- keras_model_sequential() %>% 
  layer_dense(units = 64, activation = "relu", input_shape = c(10000)) %>% 
  layer_dense(units = 64, activation = "relu") %>% 
  layer_dense(units = 46, activation = "softmax")
model %>% compile(
  optimizer = "rmsprop",
  loss = "categorical_crossentropy",
  metrics = c("accuracy")
)
history <- model %>% fit(
  partial_x_train,
  partial_y_train,
  epochs = 9,
  batch_size = 512,
  validation_data = list(x_val, y_val)
)
results <- model %>% evaluate(x_test, one_hot_test_labels)
# Prediction on new data
predictions <- model %>% predict(x_test)

Regression data (Chapter 3.6)

  • Because so few samples are available, we will be using a very small network with two hidden layers. In general, the less training data you have, the worse overfitting will be, and using a small network is one way to mitigate overfitting.
  • Our network ends with a single unit, and no activation (i.e. it will be linear layer). This is a typical setup for scalar regression (i.e. regression where we are trying to predict a single continuous value). Applying an activation function would constrain the range that the output can take. Here, because the last layer is purely linear, the network is free to learn to predict values in any range.
  • We are also monitoring a new metric during training: mae. This stands for Mean Absolute Error.
library(keras)
dataset <- dataset_boston_housing()
c(c(train_data, train_targets), c(test_data, test_targets)) %<-% dataset

build_model <- function() {
  model <- keras_model_sequential() %>% 
    layer_dense(units = 64, activation = "relu", 
                input_shape = dim(train_data)[[2]]) %>% 
    layer_dense(units = 64, activation = "relu") %>% 
    layer_dense(units = 1) 
    
  model %>% compile(
    optimizer = "rmsprop", 
    loss = "mse", 
    metrics = c("mae")
  )
}
# K-fold CV
k <- 4
indices <- sample(1:nrow(train_data))
folds <- cut(1:length(indices), breaks = k, labels = FALSE) 
num_epochs <- 100
all_scores <- c()
for (i in 1:k) {
  cat("processing fold #", i, "\n")
  # Prepare the validation data: data from partition # k
  val_indices <- which(folds == i, arr.ind = TRUE) 
  val_data <- train_data[val_indices,]
  val_targets <- train_targets[val_indices]
  
  # Prepare the training data: data from all other partitions
  partial_train_data <- train_data[-val_indices,]
  partial_train_targets <- train_targets[-val_indices]
  
  # Build the Keras model (already compiled)
  model <- build_model()
  
  # Train the model (in silent mode, verbose=0)
  model %>% fit(partial_train_data, partial_train_targets,
                epochs = num_epochs, batch_size = 1, verbose = 0)
                
  # Evaluate the model on the validation data
  results <- model %>% evaluate(val_data, val_targets, verbose = 0)
  all_scores <- c(all_scores, results$mean_absolute_error)
}

PyTorch

An R Shiny app to recognize flower species

Google Cloud Platform

Amazon

Amazon's Machine Learning University is making its online courses available to the public

Workshops

Notebooks from the Practical AI Workshop 2019

OpenML.org

R interface to OpenML.org

Biology