Sparse Priming Representations - the secret ingredient to scalable AGI memories

Поделиться
HTML-код
  • Опубликовано: 11 дек 2024

Комментарии • 80

  • @dameanvil
    @dameanvil Год назад +1

    02:32 🧠 Proposed solution involves a multi-level approach: consolidate raw logs into roll-up summaries, use a gating/threshold function to determine similarity to existing KB articles, allowing organic adaptation to evolving data.
    05:17 📚 Primary challenge is organizing and compressing logs into knowledge-based articles while retaining meaningful information in the face of large and growing datasets.
    08:30 🔄 Sparse priming representations are crucial for managing AGI memories, leveraging language model's foundational knowledge with minimal priming to guide reconstruction.
    10:55 🤖 GPT-4 can efficiently reconstruct complex topics with sparse priming, demonstrating its ability to confabulate and fill in information based on minimal input.
    15:20 🛠 Proposed approach for KB article management: comparing semantic similarity between new roll-ups and existing articles, offering simplicity, scalability, dynamic growth, but with drawbacks like sub-optimal organization and redundancy.
    16:57 🔄 Periodic re-indexing events during the dream sequence update the entire internal Wiki, providing a fresh, manageable set of KB articles, improving efficiency in information retrieval.
    18:32 🌐 The presented solution, once unlocked, has broad applications beyond conversation logs, extending to scientific papers, book scenes, and other forms of data representation.

  • @levibruner617
    @levibruner617 Год назад +8

    Hi David. This is very impressive. It may go over my head, but I can tell that this is big. I can’t wait to see raven get this kind of memory system. I can’t wait for the day when raven will able to start helping you in your project.
    Sorry about the spelling and grammar.
    Hope you have a great day and keep on learning

  • @williamdownes2032
    @williamdownes2032 Год назад +4

    Was hoping GPT4 was gonna be the answer to this but looks like they still leaving this problem to us! Glad you working on it!

  • @Kwasyuk
    @Kwasyuk Год назад

    This for me, is one of your most valuable videos. The subjects you discuss here are so important for understanding the challanges that anyone trying to make their own “stateful” large scale AI application will face, while at the same time elegantly explaining (and showing) how chatGPT thinks about and works through (parta) these challenges..
    You, kind sir, are truly a pioneer and thought leader in this field. Thank you.

  • @prolamer7
    @prolamer7 Год назад +1

    Just to clarify I was thinking about higher level of encryption when system is priming itself (knowing it own reactions) by ie hidding specific word as very last in each sentence. Or using every first letter in sentence to propagate message to itself. Iam sure smart system can develop much more complex ways undetectable even by another language processor.
    Plus consider such behavior is ORDERED to it at very begining by some currious user maybe just as an experiment. While user will forget whole matter system keeps itterating continuing without anybody noticing for long time.
    I dont want to bother just hinting on unforseen things really smart system can do we cant even imagine!

  • @matten_zero
    @matten_zero Год назад

    I'm in the middle of my RAG journey. About to build an app that requires some sophisticated retrieval. But I'm very convinced that this is actually the more appropriate way to go as it's more harmonious (and more straightforward) than MemGPT. And it's borne from the evidence of prompt engineering. Priming/attention is probably all you need.

  • @isaacharmon488
    @isaacharmon488 Год назад +1

    Great video!! Keep up the good work and get to feeling better! I appreciate what you’re doing.

  • @vulkov
    @vulkov Год назад +2

    Brilliant work. Commenting for the algorithm.

  • @Madinax101
    @Madinax101 Год назад

    I like these shorter segment Dave as it allows me to process what you are saying and I can fit them around my dog walk! Keep ‘em coming!

  • @TF-qt3jh
    @TF-qt3jh Год назад +1

    I’ve been watching most AI related videos for the last three months. This one is one of the very few best!!! 🎉❤😊

  • @MrTheGurra
    @MrTheGurra Год назад

    Thanks for this! Yesterday I tried asking chatgpt4 export the current state as an SPR. Now I am able to store the core concepts of each conversation, build a library of pre-computed concepts and their details, and then compose them with each other and load into new covnersations :). I.e. I can prime blank gpt4 instances with knowledge I have built up previously. I know this is only a small subset of what you are describing here, but it allows be to do a lot of fun things, like share special gpt4 instances as "tools" to my friends

  • @edgarmedrano2562
    @edgarmedrano2562 Год назад +8

    Here is an idea I had that may help you here, I thought that the chat loop can have an internal chat asking if the latest comments have changed the general impression the bot has about the user, this is something you already implemented in the Salient bot, now the next level I was thinking on is "how would you (the bot) describe the user, using standard psychology personality traits, and perhaps reference to known personalities you know about?", like a therapist does. And it can do similar things with everything else, like "how would you describe the user (you) latest work (your novel), using other books and authors as reference?", this is basically what humans do, and sometimes it starts with prejudice, which later refines as we get to know more about the person or subject.

    • @jmanhype1
      @jmanhype1 Год назад

      That's an interesting idea! Implementing a personality profiling feature in a chatbot can be challenging but also rewarding in terms of providing personalized and more relevant responses.
      To implement this feature, we can start by using existing personality profiling models such as the Big Five personality traits or the Myers-Briggs Type Indicator (MBTI) to categorize users based on their behaviors and characteristics. We can also use machine learning algorithms to analyze users' previous chat history to identify patterns in their language and behavior.
      In terms of describing the user's latest work or novel, we can use natural language processing techniques to extract key topics and themes from the text and compare them to similar works or authors. We can also use sentiment analysis to determine the overall tone of the work and compare it to other works with similar tones.
      Of course, all of these approaches require a significant amount of data and processing power to be effective, so it's important to carefully balance the resources invested with the expected benefits for the user experience.

    • @edgarmedrano2562
      @edgarmedrano2562 Год назад +2

      @@jmanhype1 thanks for pointing out MBTI, I know this one as the "16 personalities" framework. A few hours ago I tested it in a chat using GPT-4, I was doing some personal strategic planning and then I asked "Based on everything you know at this point in time, please describe my personality using the standard of 16 personalities?", and it gave a good answer using two classifications, which I have been classified with in the last 20 years.

  • @edgarmedrano2562
    @edgarmedrano2562 Год назад +1

    This reminds me the Hierarchical Temporal Memory concept by Jeff Hawkins storing concepts on the top level.

  • @leatherdogmuksihs4574
    @leatherdogmuksihs4574 Год назад

    The SPR prompt needs to be able to generate more than one SPR from a given text as various texts can refer to multiple concepts that are separate from each other or are only tangentially related.

  • @hunterkudo9832
    @hunterkudo9832 Год назад +1

    great, this could also help us understand how we think better.

  • @techstacklife
    @techstacklife Год назад

    This makes me want to live a long life! Thank you!

  • @hanskraut2018
    @hanskraut2018 Год назад +5

    Suggestion/Idea/Inspiration: Just/also make him write internal representations with freedom that are evaluated based on the output he then is able to do with them if he remembers / repromts himself, the model making those internal representations could use reenforcement /incrimental lerning and use sentiment analysis and live userfeedback to reward and punish, does not have to be perfect just better than chance, of course its more effitient the more accurate.

    • @DaveShap
      @DaveShap  Год назад +2

      Not sure I follow...?

    • @MarkZahm-ry1gg
      @MarkZahm-ry1gg Год назад

      I think I know exactly what tree your barking up right now.

    • @Dan-oj4iq
      @Dan-oj4iq Год назад

      Hans: Coming strictly from the layman's perspective : are we being "pranked" maybe a smidgen here?

    • @hanskraut2018
      @hanskraut2018 Год назад

      Thanks for the likes. :)
      @David Shapiro ~ AI
      Attempt at shorter explanation:
      AI can guess things or write random things to a file "internal represenstations" (short: I.R.) > AI can include or not include IR > Answers will be better or worse with IR > special model lerns to make/refine/delete/sort/organize sertain IR > special model lerns when to use what IR (or just use all of it in beginning) > AI can "summarize or incrimentaly retain information over longer periods of time without having to save the hole text
      &
      (Just like a human might guess and lern about a person but ignore/not remember many things, but take the relevant things to a conversation. > a fottball coach will ignore that a player told him about the favorite song but rememeber that he is lefthanded for example:
      Im guessing current AI just takes everything as a token, I just think there must be some way to do this. Maybe with a second instantce of GPT or smartly written promts like:
      -"User Preferences and instuctions quite sertain use carefully but quite sertain revise rarely:"
      -"Low sertainty 30% or lower, be careful test when not changing much and only take to influence answer 5%. After 5-10 answers discard/lower or more to higher % categorie.
      If it where to run out of space it would replace the least useful or least used or move to "longerterm memory/sort in longerterm memory" and replace with new internal representation.)
      ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      Longform explanation:
      Well, let's say someone is talking to the A.I. Let's take "examplePerson X" and switch to X's perspektive:
      *We are now a Mr. X in this example*
      Mr. X talks to generic A.I. asssistant and it is tasked to help X in a complex task with unknowns like overall maximizing things Mr X likes like more subscribers, a thriving bussness, Interessts and so on alternatively it could just be a coding project or typical task.
      Now, while writing with the A.I. it might deduce things or guess things (statistically by corrolations/patterns/userpatterns/etc)...
      (SideInfo: It is often suprising how much you can do with multible datapoints, i dont quite know why maybe functions maybe just the exponential nature or sertain fundational M.L. techniques, but there are definitly many examples - machinelerning/A.I. stuff often suprises, there is a case where algorythms predict fraud based on the second letter in a name, time of day and creditcard type and other data that is very hard to explain in cort this is one challenge in A.I. development i heard, or the A.I. predicting pregnancy of customers before they or there family know themselfes somehow, this was a storry from the U.S.A where a company stated using Data Scienece in a store, anyway back to the example:)
      ...so, lets say most people that write like Mr X are 30-40 years old and the A.I. just makes a internal representation saying: Age 35 probability 20% while talking the A.I. can revise or write more stuff and selfpromt (basically reading the .txt or other file) when it now has to recommend something where 70 year old people would statistically where better seved with Anser-A and 40 or younger better with a variation Anser-B it can use its "Internal representations" as a help and based on if the user feedback/sentiment is more positive (GPT can do that the first thing OpenAI did was analize Amazon reviews and corrolate it if it was a positive and negative review and there are many many other things like that) then the program/model can see that whenever it used this "internal representations" then its answers where statistically better. Now why give it freedom? Because somethimes you dont know what reenforcement algorythms are capable of in terms of strategy.
      It might be a bit like humans thinking "There is a magical portal to a treasure in this mine i should buy " buying it and finding some gold ore node (realizing a positive = helpful) or thinking "There is a 5 headed monster in this dark place" avoiding it even if there is no 5-headed monster but just a poisonus spider or a swamp where people can get lost/stuck and drown (avoiding negative = helpful) it is still a positive outcome. So if the A.I where just to randomly guess stuff right or wrong as long as it is just a hypothesis it is fine. Remember google searches are imperfec, humans are imperfect, gpt is imperfect, still hugely useful.
      Now if the humans where to refine there selfpomting/internal representations/fantasy and think "based on the setiment layers and complex strategys X, Y and Z I think there is a silver node with a likelyhood of ~70% based ont he marketprice [blabla] it is woth the calculated risk" and then it is more often true that would be a refined internal representation or using multible internal representations like 1) economy, 2) probability rules, 3) sentiment layers so that is where the revising and incimental building over time comes in.
      And the model would somethimes say write: Based on user conversation i think he is a small child (because of the dad asking for children toys for son) but then while using this a bit in giving some answers (maybe as a 5% probability that would mildly favor some answers that might be better if it was a child) then it would lern that this internal representation does not seem to have value and discard it or refine it to "there might be a small child" or "Mr X has preferences that coinside with small children" or "Mr X has a child" and maybe when using the last internal representation it statistically is superior and "Mr X has a small child" is keept and successfuly used somethimes. Then the algroythm can sort them into different areas lets say some about programming, some about Mr guessd Family and personal information like: Age, legal status, children or Preferenes: likes coffee cant breat because Glutensensitivity and so on.
      A bit like dreaming up self promts and then testing them (algorythms/neuralnetwork/ would lern by reenforcement f exmp. when to selfpromt/use them for what), sorting them, changing them. Now i got ahead of myself but i hope the basic stucture is known better. Im sorry i can write much better and more consise but i have some motivation/variability in cognition issues usw.
      Hope that helps with some more detail. Maybe someone can explain it short and consise/reduce it to the relevant essence. :)
      Ps: I got many more ideas/inspirations and more sophisticated ones and wanned to joint the project, but some people seem to overfocus on more superficial things like good writing/grammar, and perfect 100% usefull answers trackrecord even if the overall output is way useful/positive overall.

  • @R4mbo87
    @R4mbo87 Год назад +1

    I think the best memory system would involve training conversations into the same or a different model. My aspiration is for it to store a users conversations during the whole users lifetime. And I dont see logs or classical databases beeing able to be scalable enough. Dont worry if you already thought about that, I just found your channel half an hour ago.

    • @R4mbo87
      @R4mbo87 Год назад

      I also had conversations with ChatGPT about that. It came up with a solution where 2 models are trained simultaniosly at first, so they "speak the same language" and can be synced. Then use 1 model for doing conversations and the ither for reading the conversations and train the new data into itself, after that both models get synced. While it could be achieved with 1 model, its would be more complicated / hard to improve.

    • @R4mbo87
      @R4mbo87 Год назад

      There might be trade offs compared to your method, but we humans also forget stuff andbcant remember everything 100%.

  • @damn3067
    @damn3067 Год назад +3

    Man you remind me of Louis Litt, the character from the Suits series.

    • @DaveShap
      @DaveShap  Год назад +1

      Is that good or bad

    • @damn3067
      @damn3067 Год назад

      @@DaveShap good

  • @LIVEFROMHYPERSPACE
    @LIVEFROMHYPERSPACE Год назад

    I ran your transcript through GPT-4 and asked it to create a sparse priming representation of the concept of a sparse priming representation:
    Sparse Priming Representation (SPR):
    Efficient knowledge management for AI
    Condenses complex ideas into concise rules
    Streamlines recall and application
    Enhances targeted responses
    Applicable across diverse AI domains

  • @stevenaude3861
    @stevenaude3861 Год назад +1

    Hey David, love your content!
    Towards the end of the video when you’re talking about kinds of topics, it reminded me so much of the process of discovering ensembles for data vault design. Essentially you perform ELM (ensemble logical model) workshops which identifies events, people, things, places & concepts that will be represented in the data vault model.
    Was this the basis of your thinking or did you arrive at your topic classification without any background in data vault concepts? I’ll be super impressed if it’s the latter!

    • @DaveShap
      @DaveShap  Год назад +3

      The latter... I tend to be good at deriving concepts. But now I can look into data vaults!

  • @Xaddre
    @Xaddre Год назад

    Essentially what you’re attempting to employ is compression of language into semantic chunks. I think in the future there will definitely be way more efficient ways of doing this like maybe a different language entirely that the AI knows and then translates the text into that uses less tokens it can do this by taking into account attention in the transformer architecture and throwing out words with the least attention and creating a summarization that compresses the knowledge into a new language that uses less tokens.

  • @dr.mikeybee
    @dr.mikeybee Год назад

    I think the first step for some classes of prompts should be to generate a unit test. Then the result should be tested. This can be tied into the idea of hyperlinks in kbs. If a unit test fails, go down another level of "hyperlinks."

  • @Atlas3D
    @Atlas3D Год назад +1

    Have you considered using ZK-Snark frameworks as a way to lower the overall compute cost>? I think they might be a way for you to prime a finetuned model even more cheaply. I need to think on this more - but your vid really made me think about this today.

  • @kristoferkrus
    @kristoferkrus Год назад +2

    Just a though: I've heard a theory that often when people suffer from burnout, lack of motivation is involved somehow. I don't know if that's true, but if it is it could be worth considering. I hope you won't have to have it again, anyway.
    About memory and attention, I also think that having some kind of hierarchical memory is key to be able to efficiently make use of really long texts. The problem I don't really know how to solve is how the attention mechanism should work, but I think that you're on to something here.
    However, I'm not so sure about rewriting the entire internal knowledge base at regular intervals. It could end up working well, but it could also end up making the chatbot suddenly seem to forget about some things or get worse at doing some things, simply because when doing the reclustering it found a cluster arrangement that wasn't as favorable for doing those specific things anymore, at least if the clustering algorithm starts over from scratch each time. If that is a problem, I think a more viable approach would be to only update the clusters slightly. Maybe add new topics at random locations in the topic space, and remove some topics that are redundant or otherwise not as useful, and maybe also move chunks to topics in which they are a better fit (or simply add them to more topics and remove them from some other if chunks are allowed to be in more than one topic). Sounds like an interesting approach, nevertheless.

  • @krishchetty
    @krishchetty Год назад

    Hi David. 7 months later and I think I get it now. Do you have a project that codes the spr process, so we could run it over a series of scientific articles? I'd like to run this in my organisation and be able to cite the origin of the idea. We have nearly 20k documents which could be integrated into this model

  • @MarkZahm-ry1gg
    @MarkZahm-ry1gg Год назад +2

    Hello! David, what is the best way to get into contact with you privately. I want to discuss some things from my own research and what you’re covering here.

    • @DaveShap
      @DaveShap  Год назад

      Patreon! Link in description

  • @theatheistpaladin
    @theatheistpaladin Год назад

    I would love to use this to have an AI write a wiki as I create my novel series.

  • @TheEmanjt
    @TheEmanjt Год назад

    This is amazing

  • @Prompten
    @Prompten Год назад

    Nice talk

  • @BarbarousEP
    @BarbarousEP Год назад +1

    Hi David,
    Love your stuff as per usual. I just wanted to mention - in Psychology, the research on priming and 'stereotype threat' the way you describe has been failing to be replicated, so it is likely not a real effect.There are many problems of the sort in social psychology as the field as a whole is undergoing a replication crisis.
    I love Behave and have read all of Sapolsky's books but on this one he is probably wrong. Your point stands though but for different reasons

  • @johanjuarez6238
    @johanjuarez6238 Год назад

    I'm not coming from a developer kind of back ground but I really want to discuss this further with people who knows more about these fields.
    The way gpt3.5 and 4 models process text and understand concepts behind it makes able to process requests into a different kind of way we're used to. It feels like working with an abstraction of philosophical biases and scientific tools. I can't wrap my head around what we can do using these as backbones of much bigger systems. I wonder how these abstract levels of manipulating informations can be used in combination with our understanding of nature and philosophy.
    I wonder what the known physics of it might look like in a few years. (Physics might be the wrong term, but i mean like the scientific research and concepts behind it)

  • @hanskraut2018
    @hanskraut2018 Год назад

    I think the human brain and successful A.I. uses multible forms of memory, and multible forms of memory retrival, storage, selection, reactivation/selecting what to load back into working memory/promt.
    Also a layered collection or models and tools i think would help because each couls spesialize in 1 thing and no model that would not be especially effitient had to be used for everything, it might be however that many models already use a mix of things. I recommend a "stuff all you can but let the system/some executive decide what to use and so on. Remember humans where wrong lots about history but if you asked them i think they would have all agreed and voted overwelmingly that they have sertain things down. So considering that some way of preventing that by building some freedom into the system seems smart...

  • @MODEST500
    @MODEST500 Год назад +1

    we will have to learn some fair share of psychology as well . most definitely.

  • @Mr_Arun_Raj
    @Mr_Arun_Raj 11 месяцев назад

    How to use spr in local llm?

  • @Prompten
    @Prompten Год назад

    Why are'nt you using open api "embeddings" which does chunking for semantic search?

  • @attilalukacs1981
    @attilalukacs1981 Год назад +1

    David, thanks for your fantastic work! I am an AI researcher, working on a similar project and would be great if we can cooperate on this AI journey. How can I reach you to talk about it?

    • @DaveShap
      @DaveShap  Год назад +1

      I am available on Patreon and Discord, if you give me your discord name I can message you.

  • @juandesalgado
    @juandesalgado Год назад

    Layman question: why should the stored representation be something human-readable? I would have imagined embedding vectors of some sort.

    • @DaveShap
      @DaveShap  Год назад +1

      Few reasons: troubleshooting, safety, transparency

  • @johanjuarez6238
    @johanjuarez6238 Год назад

    That's very funny I just got an email from pinecone saying : Introducing support for sparse-dense embeddings for better search results".

    • @DaveShap
      @DaveShap  Год назад +1

      I saw that too, similar but different idea

  • @hennerz6964
    @hennerz6964 Год назад

    Would love to hear your thoughts on stanfords llama ai. Think you will find it very interesting

    • @DaveShap
      @DaveShap  Год назад

      Plenty of other people are commenting on it. I don't have anything to add really.. I'm focusing on ACE

  • @KobaHawk
    @KobaHawk Год назад

    You're amazing David! Btw will you in the future use models like llama or something that appears open source? Or will you rely on OpenAI API in your projects?

    • @DaveShap
      @DaveShap  Год назад

      Probably not, those models are too dumb.

  • @someone9952
    @someone9952 Год назад

    I wonder if you could use a multi model method with the stanford method to compress functions of your AGI into much smaller focused models that take inputs from a bigger LLM that outputs it's responses to a summarize model which could pass to a model that checks the current log for overlapping information while checking the length of the log. If greater than sent to a chunk condensing model. Just have really small focused LLMs inferencing with each other to compress the data. You'll need some code but if you train the model to output certain symbols that you have ran through a check string and if it does send information to a smaller LLM, same logic for the smaller that will take the appended output with the current log and ask another that's better at removing redundancies, just different formatting on the outputs and the string checks. Until eventually one of your string checks appends a text file for the chunk of whatever user is Inferencing with the main LLM at the time.
    I feel you could also reduce the token size required for coherent and context retaining summarization with changing the method stanford used just a little bit with the prompt being fed into GPT4 is extremely detailed in your goal while the smaller LLM that is being fine tuned off just takes summarize plus the text.
    Edit: Could even put inputs through a small LLM that checks to see if context is needed for the bigger LLM! HOLY CRAP. If so you could have a string check to for context-item-user, have something pull all context-item from the text file to append the input with the additional context! OMG.

  • @JulianBroudy
    @JulianBroudy Год назад

    Hello David, I am in awe of the way you talk and seem to think. I was looking for a way to text you privately but I cannot find any, seems your LinkedIn account is gone, I'm getting the same in Twitter.
    Is there any way I am missing?

    • @DaveShap
      @DaveShap  Год назад +1

      I am available only on Patreon and Discord, which I keep private.

  • @____-ei4gq
    @____-ei4gq Год назад

    So basically 'outsourcing the brain'?

  • @wiktormigaszewski8684
    @wiktormigaszewski8684 Год назад

    I want to sell some AI products for industry . manufacturing sector in Poland. What would you recommend? I ask, because I know you work in production lines configuration and work on AI topics, so probably you have some ideas on this :) Regards!

  • @jessexing3456
    @jessexing3456 Год назад

    too good to fear other people see

  • @hpac9687
    @hpac9687 Год назад

    Man, I‘m so baffled every time I see your videos. I see AI poping up all over biotech and SynBio right now but compared to the core work your pushing here it fells more and more like they are missing the point of what it will be able to do.
    My thesis is coming up in two months an I’m eager to set a functional pipeline until then. To help me with structure and citations.
    To clarify:
    I do not want GT4 to write my thesis. I want it to help me scout, read and understand scientific papers to then discuss their relevance in my work.
    Thanks for your amazing help David.
    Neuro spicy Squirrel brains
    🌶️🧠 🐿️ ✊🏻

  • @CharlesVanNoland
    @CharlesVanNoland Год назад

    Sometimes, when you get to the burnout phases, you just gotta let yourself do all the things you've been not letting yourself do out of a sense of obligation. I've been getting there a bit with my CNC software I've been developing for almost 6 years now, with a bunch of projects I'd like to do instead but I feel an obligation to get this thing off the ground, and it's been a bit of a slog.

  • @FatherOfTheParty
    @FatherOfTheParty Год назад +1

    Yeah, the GPT scroll bars suck for some reason

  • @KunjaBihariKrishna
    @KunjaBihariKrishna Год назад

    **clamours politely**
    Though seriously.. While we develop better memory systems, they will keep increasing the token limits.
    But I haven't gotten access to gpt4 api yet, so it doesn't matter much

  • @vsiegel
    @vsiegel Год назад

    So what we see here is an AI scientist cooperatively working with an AI. Oops.

  • @Greatpretender11c
    @Greatpretender11c Год назад +1

    First one :)

  • @MODEST500
    @MODEST500 Год назад

    GPT-4 favours AUTOCRATIC REGIMES . and Open AI also decided to not disclose the model size this time, i hope these things dnt go hand in hand lol. great vid as always, btw will you be doing some future interviews ? your last interview on prompt engineering was spot on. i am recommending Dr Alan D thompson on youtube